あなたのJipsterスタープリントにCLIを加えてください
こんにちは私の仲間のヒップ.誰が彼の青写真のための彼自身のCLIを持って夢見たことがない?これが今日あなたにお見せしたいことです.
私のような場合は、多くのJipsterバージョンでプレーするように、あなたのフォークと公式Jhiipsterリリースの間に切り替えると、おそらくバージョン管理と闘争.私のJipsterコマンドが私が必要とするバージョンを起動すると確信する方法?そして、どのように私のユーザーが私の青写真を使用するときに悪い経験を持っていないことを確認しますか?
JipHisterコマンドラインでプロジェクトを生成するときは、次のように入力します.
まず最初に、あなた自身の青写真を作成することから始めなければなりません、あなたは青写真ジェネレータをここで使うことができます:https://github.com/jhipster/generator-jhipster-blueprint
次に、ノードを含むCLIフォルダを追加する必要があります.JSコード.私は2つのファイル、アプリケーションに分割します.JS(私たちのためにJipHipsterを起動する)とutils.これはいくつかの関数を含みます.アプリ.js
utilsjs
あなたの青写真がNPMレジストリで公開されない限り、あなたはそれをリンクする必要があります.
端末で、新しいフォルダを作成し、BluePrintコマンドを入力します
もちろん、オリジナルのJipHipster CLIで使用したようなオプションを追加できます.
この記事があなたを助けてくれることを願っています.
https://github.com/avdev4j/myBlueprint
気軽にそれを使用してJipipsterに貢献してください.技術とhttps://github.com/jhipster
Jipsterバージョンとあなたの青写真
私のような場合は、多くのJipsterバージョンでプレーするように、あなたのフォークと公式Jhiipsterリリースの間に切り替えると、おそらくバージョン管理と闘争.私のJipsterコマンドが私が必要とするバージョンを起動すると確信する方法?そして、どのように私のユーザーが私の青写真を使用するときに悪い経験を持っていないことを確認しますか?
CLIはあなたの青写真の経験を改善する方法
JipHisterコマンドラインでプロジェクトを生成するときは、次のように入力します.
jhipster --blueprint myBlueprint
これは、Bluetoothを使用してJHipsterを起動することを意味“myBluePrint”グローバルJipsterインストールを使用して、またはローカルのいずれか.両方のケースでは、良いバージョンは、特定のバージョンとの互換性としてあなたの青写真を使用されることを確認することはできません.あなたの青写真とそのCLIをつくってください
まず最初に、あなた自身の青写真を作成することから始めなければなりません、あなたは青写真ジェネレータをここで使うことができます:https://github.com/jhipster/generator-jhipster-blueprint
次に、ノードを含むCLIフォルダを追加する必要があります.JSコード.私は2つのファイル、アプリケーションに分割します.JS(私たちのためにJipHipsterを起動する)とutils.これはいくつかの関数を含みます.
#!/usr/bin/env node
**const **fork = require('child_process').fork;
**const **utils = require('./utils');
**const **jhipsterPath = utils.generateJHipsterPath('../node_modules/generator-jhipster/cli/jhipster');
**const **args = utils.initArguments('--blueprint', 'myBlueprint');
utils.printBanner();
fork(jhipsterPath, args);
#!/usr/bin/env node
**const **p = require('path');
**const **chalk = require('chalk');
**function **generateJHipsterPath(relativePath) {
**const **absolutePath = p.join(__dirname, relativePath);
**return **p.normalize(absolutePath);
}
**function **initArguments(...args) {
**const **inputArgs = _removeNodeArgsInProcessArgv();
**return **args.concat(inputArgs);
}
**function **_removeNodeArgsInProcessArgv() {
**return **process.argv ? process.argv.slice(2) : [];
}
**function **printBanner() {
/* eslint-disable no-console */
console.log('\n');
console.log(`${chalk.yellow('Welcome to myBlueprint JHipster Generator')}\n`);
console.log('This CLI will call JHipster with myBlueprint blueprint for you. You could use all JHipster CLI options.\n');
console.log(`${chalk.redBright('Ready ?... ')}${chalk.blueBright("Let's go!")}\n`);
console.log(
chalk.green(' _______________________________________________________________________________________________________________\n')
);
/* eslint-enable no-console */
}
module.exports = {
generateJHipsterPath,
initArguments,
printBanner
};
このコードは、正しいJHipsterパスを生成します(このモジュールは、以下のようにします).-- blueprint myBlueprint
これが完了したら、ノードを登録するだけです.我々のパッケージの「ビン」としてのJSコード.JSON : "bin": {
"myBlueprint": "./cli/app.js"
}
そして、"ファイル"エントリにCLIフォルダを追加します( NPM発行時に追加するには) "files": [
"generators",
"cli"
]
リンクあなたの青写真
あなたの青写真がNPMレジストリで公開されない限り、あなたはそれをリンクする必要があります.
npm link
あなたの最終ユーザーのための簡単なインストールが必要ですnpm i -g generator-jhipster-myBlueprint
あなたのCLI
端末で、新しいフォルダを作成し、BluePrintコマンドを入力します
myBlueprint
私たちは、Jipsterバージョンが使用されていることを確認できます.JSONもちろん、オリジナルのJipHipster CLIで使用したようなオプションを追加できます.
myBlueprint --skip-client --skip-git --skip-checks
結論
この記事があなたを助けてくれることを願っています.
https://github.com/avdev4j/myBlueprint
気軽にそれを使用してJipipsterに貢献してください.技術とhttps://github.com/jhipster
Reference
この問題について(あなたのJipsterスタープリントにCLIを加えてください), 我々は、より多くの情報をここで見つけました https://dev.to/jhipster/add-a-cli-to-your-jhipster-blueprint-1igjテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol