JHIPSTERのBLUEPRINTを作る
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[JHIPSTER一覧]]
*目次 [#c7471137]
#contents
* blueprintとは [#r0e288ab]
一言でいうと、JHIPSTER用のレイヤー単位での、ジェネレータ...
デフォルトだと、テーブルの管理画面を迅速に作るぐらいしか...
内部で使っているのは、yeomanの機能。
直訳すると、青写真なんだけど、yeomanでいうところの、gener...
で、JHIPSTER5までは、moduleという概念だったんだけど、次の...
- webアプリケーションのレイヤーごとに、テンプレートを切り...
レイヤーとは、たとえば、サーバとか、クライアントとか、エ...
JHIPSTER6ぐらいから使われだした、JHIPSTER用のテンプレート...
*** 翻訳元のサイト [#ve236ce7]
https://www.jhipster.tech/modules/creating-a-blueprint/
いっておきますが、英語は得意ではありません。そして、意訳...
基本的に、グーグル翻訳をペタペタはってます。
* blueprintを作成する [#md72103c]
JHipsterブループリントは、
yeomanのジェネレータの合成機能
https://yeoman.io/authoring/composability.html
をつかっています。
特定のJHipsterサブジェネレータから構成され、そのサブジェ...
JHipsterの青写真は、JHipsterのマーケットプレイス
https://www.jhipster.tech/modules/marketplace/#/list
にjhipster-blueprintラベルとともに記載されています。
これにより、JHipsterの特定の部分、たとえばクライアント側...
** blueprintの使い方 [#hc7f385b]
もし、<blueprint name>という、blueprintが使えるようになっ...
ブループリントを実行するには、下記のコマンドを実行します。
jhipster --blueprint <blueprint name>
もうちょっと、詳しく説明すると、
blueprintは、npmで、管理されているyeoman製のjhipsterモジ...
自分でも何言っているのかわかんなくなりそうですが、言いた...
使う準備として、使いたいものをしらべて、npm installしない...
たとえば、使いたいものが、generator-jhipster-vuejs とい...
npm i -g generator-jhipster-vuejs
とします、i は、installの意味、-g は、いろいろなユーザで...
で、<blueprint name>が、vuejsだったとすると、
jhipster --blueprint vuejs
とやるわけです。
*** Kotolinコードを生成するblueprint [#ya3ad9e2]
JHipster Kotlinのblueprintは、同等のKotlinコードとサーバ...
https://github.com/jhipster/jhipster-kotlin
** JHIPSTERのBLUEPRINT使用例 [#dbadd32c]
*** クライアントのサブジェネレータであるbuleプリントを上...
https://github.com/hipster-labs/generator-jhipster-sample...
*** blueprintの初期スケルトンの作成方法 [#b41ac774]
JHipsterブループリントジェネレータを使用してブループリン...
JHipsterブループリントジェネレータを使用するには、以下の...
なお、このドキュメント書いているのは、以下のバージョンの...
generator-jhipster-blueprint@0.0.9
(バージョンが0.1にすらなっていないという。。。アルファ版...
npm install -g generator-jhipster-blueprint
mkdir my-blueprint && cd my-blueprint
# リポジトリ作成
git init
# 最初のコミット
git commit --allow-empty -m "first commit"
Windowsをつかっている方への注意事項:yoコマンドは、PowerS...
yo jhipster-blueprint
質問に答えながら上書きしたいサブジェネレータを選択してく...
*** 質問される事項 [#vf25d0f9]
? What is the base name of your module? helloworld
? Give a description of your module
? Which sub-generators do you want to override? entity
? What is your GitHub username? khayashi4337
? Who are you? Firstname Lastname Hayashi Kuniyuki
? Your email? khayashi4337@gmail.com
? Your home page url?
? Do you want to add a license? Apache License 2.0
*** entityをえらんでみた結果例 [#pe1e0e12]
[ 'entity' ]
create package.json
create .editorconfig
create .eslintignore
create .eslintrc.json
create .prettierrc
create .prettirignore
create .gitattributes
create .gitignore
create .travis.yml
create LICENSE
create README.md
create generators\entity\index.js
create test\entity.spec.js
##### USAGE #####
To begin to work:
- launch: yarn install or npm install
- link: yarn link or npm link
- link JHipster: yarn link generator-jhipster or npm lin...
- test your module in a JHipster project:
- create a new directory and go into it
- link the blueprint: yarn link generator-jhipster-h...
- launch JHipster with flags: jhipster --blueprint h...
- then, come back here, and begin to code!
*** でてきたUSAGEの意訳 [#g0dbf6f5]
##### 使い方 #####
ほかのプロジェクトで使うための準備
以下のコマンドを実行:
npm install
npm link
npm link generator-jhipster
2.テンプレートを修正してください。
3.いざ、テンプレート生成
あなたのプロジェクトに、ディレクトりを移動させます。
npm link generator-jhipster-helloworld
コードが上書きされるので、そのまえに、いったんgitで、コミ...
git status
jhipster --blueprint helloworld
コードが上書きされていることを確認しましょう。
git diff
** JHipsterブループリントの基本事項 [#p8a34106]
JHipsterのblueprintは:
- NPMのパッケージです。そして、Yeoman のgeneratorです。
下記に上げるような他のジェネレータ同様に、Yeomanのルール...
http://yeoman.io/generators/
なので、yoコマンドをつかってインストールしたり、更新した...
. 先頭は generator-jhipster-で始めてください。
yeoman-generator と jhipster-blueprint の2つのキーワード...
ブループリントは、次のサブジェネレーター(ジェネレーター...
- common
- client
- server
- entity
- entity-client
- entity-server
- entity-i18n
- languages
- spring-controller
- spring-service
** generator-jhipsterをインポートする [#a93cd987]
JHipsterブループリントは、依存関係としてgenerator-jhipste...
const chalk = require('chalk');
const ClientGenerator = require('generator-jhipster/...
...
module.exports = class extends ClientGenerator {
constructor(args, opts) {
super(args, Object.assign({ fromBlueprint: t...
const jhContext = this.jhipsterContext = thi...
if (!jhContext) {
this.error(`これは、JHIPSTERのblueprint...
}
this.configOptions = jhContext.configOptions...
// このサブジェネレータ用のセットアップオプ...
jhContext.setupClientOptions(this, jhContext);
}
get initializing() {
// 親クラスのメソッドを直接よびだすことで何...
return super._initializing();
}
// 同様に、サブジェネレータのほかのフェーズの記...
}
上記の例の ClientGenerator のように、
アンダーバーで始まるメソッドは、親クラスで、再利用できま...
JHipsterのblueprintなどのサブジェネレータは、yeomanのフェ...
それぞれのyeomanのフェーズは、getterメソッドになっていま...
たとえば、get initializing を例にとってみます。
blueprintはフェーズでの処理を、オーバーライドすることで、...
*** yeomanのフェーズのカスタマイズ方法 [#sd8e79bd]
1) なにもしない場合は、こちら
-
get initializing() {
return super._initializing();
}
親クラスの初期化メソッドを呼び出しています。アンダーバー...
2) フェーズを全部上書きする例, 自前の制御オンリーですね。
-
get initializing() {
return {
myCustomInitPhaseStep() {
// Do all your stuff here
},
myAnotherCustomInitPhaseStep(){
// Do all your stuff here
}
};
}
3) フェーズを部分的に上書きする方法です.既存のメソッドの...
-
get initializing() {
const phaseFromJHipster = super._initializing();
const myCustomPhaseSteps = {
displayLogo() {
// JHIPSTERのdisplayLogoメソッドを上書き
},
myCustomInitPhaseStep() {
// あなたのオリジナルの処理
},
}
return Object.assign(phaseFromJHipster, myCustom...
}
ブループリントから直接JHipsterの変数や関数にアクセスする...
** 利用可能な変数と関数 [#n264f023]
*** 設定ファイル .yo-rc.json からの変数: [#x57e7b72]
あなたはJHipster設定.yo-rc.jsonとあなたのblueprint設定の...
*** グローバル変数 (ジェネレータ定数): [#x91f1b55]
ジェネレータ定数で定数を使うことができます。
const javaDir = `${jhipsterConstants.SERVER_MAIN_SRC...
const resourceDir = jhipsterConstants.SERVER_MAIN_RE...
const webappDir = jhipsterConstants.CLIENT_MAIN_SRC_...
*** 関数: [#a81440d5]
あなたはgenerator-baseですべての関数を使うことができます:
this.angularAppName = this.getAngularAppName(); // ge...
this.printJHipsterLogo(); // to print the JHipster logo
注意: generator-base.jsと内の変数generator-constants.js...
しかしgenerator-base-private.js、utils.jsなどのような他の...
** blueprintの開発のお作法 [#l874bec6]
blueprintの開発中に、以下の手順に注意してください。それら...
- ブループリントをグローバルにリンク
注意: ブループリント(ステップ3)を作成中の各プロジェクト...
-
cd my-blueprint
npm link
- JHipsterの開発版をあなたの設計図にリンクしてください(...
cd generator-jhipster
npm link
cd my-blueprint
npm link generator-jhipster
- 生成するアプリの新しいフォルダを作成し、そこにJHipster...
mkdir my-app && cd my-app
npm link generator-jhipster-myblueprint
npm link generator-jhipster (Optional: Needed only if yo...
jhipster -d --blueprint myblueprint
** JHipsterマーケットプレイスにblueprintを登録する [#w031...
blueprintをJHipsterマーケットプレイスで入手できるようにす...
- yeoman-generator
- jhipster-blueprint
公開されているnpm にあることを確認する必要がありますpacka...
*** しくったのを見つけた場合 [#t6749689]
JHipsterモジュールでもブループリントでもないエントリがマ...
modules-config.jsonファイルのblacklistedModulesセクション...
* いざ、使ってみる。 [#y03143d4]
たとえば、git labとかで、マージリクエストがとおったら
、
次の仕事をすぐやるんじゃなく、ナレッジベースを追加する時...
とれば、長期的には、仕事は楽になるんじゃないだろうか。
GitLabは、差分が見やすい、何を修正しようとしたときに、ど...
修正になったのかが、見やすいようになっている。
自分は、この差分をもとに、テンプレートを作成したら、
いいんじゃないかと思う。
** 数式的に、いいかえると [#p7efb6ca]
(差分)=(テンプレート)+ (パラメータ)
と考えるわけです。
なので、式変形すると、
(差分)- (パラメータ) = (テンプレート)
なのです。
ここで、gitがデファクトスタンダードな現状から、
(差分)= (マージリクエストの差分表示)
なので、欲をいえば、GitLabの差分表示画面に、(パラメータ...
(テンプレート)を生成してくれたらうれしいのですが、
そこは、手作業としておきましょうか。
** なにが、メリットなのかというと [#f9c18cd7]
それは、横展開の、高速化でしょうか。
(似たような仕様書)= (パラメータ)x N
とかんがえるわけです。
(パラメータ)1つについて、(差分)を取りながら
開発をすすめていって、
ついでに、(テンプレート)をいくわけです。
そうすると、2個目の(パラメータ)以降は、テンプレートの...
得られるわけなのです。
** おおまかな手順 [#jb48b489]
1. git labで、マージリクエストの差分を得る
2. 差分から、パラメータ部分を変数に置き換える
3. blueprint用のテンプレートファイルを作成する
かなぁ
終了行:
[[JHIPSTER一覧]]
*目次 [#c7471137]
#contents
* blueprintとは [#r0e288ab]
一言でいうと、JHIPSTER用のレイヤー単位での、ジェネレータ...
デフォルトだと、テーブルの管理画面を迅速に作るぐらいしか...
内部で使っているのは、yeomanの機能。
直訳すると、青写真なんだけど、yeomanでいうところの、gener...
で、JHIPSTER5までは、moduleという概念だったんだけど、次の...
- webアプリケーションのレイヤーごとに、テンプレートを切り...
レイヤーとは、たとえば、サーバとか、クライアントとか、エ...
JHIPSTER6ぐらいから使われだした、JHIPSTER用のテンプレート...
*** 翻訳元のサイト [#ve236ce7]
https://www.jhipster.tech/modules/creating-a-blueprint/
いっておきますが、英語は得意ではありません。そして、意訳...
基本的に、グーグル翻訳をペタペタはってます。
* blueprintを作成する [#md72103c]
JHipsterブループリントは、
yeomanのジェネレータの合成機能
https://yeoman.io/authoring/composability.html
をつかっています。
特定のJHipsterサブジェネレータから構成され、そのサブジェ...
JHipsterの青写真は、JHipsterのマーケットプレイス
https://www.jhipster.tech/modules/marketplace/#/list
にjhipster-blueprintラベルとともに記載されています。
これにより、JHipsterの特定の部分、たとえばクライアント側...
** blueprintの使い方 [#hc7f385b]
もし、<blueprint name>という、blueprintが使えるようになっ...
ブループリントを実行するには、下記のコマンドを実行します。
jhipster --blueprint <blueprint name>
もうちょっと、詳しく説明すると、
blueprintは、npmで、管理されているyeoman製のjhipsterモジ...
自分でも何言っているのかわかんなくなりそうですが、言いた...
使う準備として、使いたいものをしらべて、npm installしない...
たとえば、使いたいものが、generator-jhipster-vuejs とい...
npm i -g generator-jhipster-vuejs
とします、i は、installの意味、-g は、いろいろなユーザで...
で、<blueprint name>が、vuejsだったとすると、
jhipster --blueprint vuejs
とやるわけです。
*** Kotolinコードを生成するblueprint [#ya3ad9e2]
JHipster Kotlinのblueprintは、同等のKotlinコードとサーバ...
https://github.com/jhipster/jhipster-kotlin
** JHIPSTERのBLUEPRINT使用例 [#dbadd32c]
*** クライアントのサブジェネレータであるbuleプリントを上...
https://github.com/hipster-labs/generator-jhipster-sample...
*** blueprintの初期スケルトンの作成方法 [#b41ac774]
JHipsterブループリントジェネレータを使用してブループリン...
JHipsterブループリントジェネレータを使用するには、以下の...
なお、このドキュメント書いているのは、以下のバージョンの...
generator-jhipster-blueprint@0.0.9
(バージョンが0.1にすらなっていないという。。。アルファ版...
npm install -g generator-jhipster-blueprint
mkdir my-blueprint && cd my-blueprint
# リポジトリ作成
git init
# 最初のコミット
git commit --allow-empty -m "first commit"
Windowsをつかっている方への注意事項:yoコマンドは、PowerS...
yo jhipster-blueprint
質問に答えながら上書きしたいサブジェネレータを選択してく...
*** 質問される事項 [#vf25d0f9]
? What is the base name of your module? helloworld
? Give a description of your module
? Which sub-generators do you want to override? entity
? What is your GitHub username? khayashi4337
? Who are you? Firstname Lastname Hayashi Kuniyuki
? Your email? khayashi4337@gmail.com
? Your home page url?
? Do you want to add a license? Apache License 2.0
*** entityをえらんでみた結果例 [#pe1e0e12]
[ 'entity' ]
create package.json
create .editorconfig
create .eslintignore
create .eslintrc.json
create .prettierrc
create .prettirignore
create .gitattributes
create .gitignore
create .travis.yml
create LICENSE
create README.md
create generators\entity\index.js
create test\entity.spec.js
##### USAGE #####
To begin to work:
- launch: yarn install or npm install
- link: yarn link or npm link
- link JHipster: yarn link generator-jhipster or npm lin...
- test your module in a JHipster project:
- create a new directory and go into it
- link the blueprint: yarn link generator-jhipster-h...
- launch JHipster with flags: jhipster --blueprint h...
- then, come back here, and begin to code!
*** でてきたUSAGEの意訳 [#g0dbf6f5]
##### 使い方 #####
ほかのプロジェクトで使うための準備
以下のコマンドを実行:
npm install
npm link
npm link generator-jhipster
2.テンプレートを修正してください。
3.いざ、テンプレート生成
あなたのプロジェクトに、ディレクトりを移動させます。
npm link generator-jhipster-helloworld
コードが上書きされるので、そのまえに、いったんgitで、コミ...
git status
jhipster --blueprint helloworld
コードが上書きされていることを確認しましょう。
git diff
** JHipsterブループリントの基本事項 [#p8a34106]
JHipsterのblueprintは:
- NPMのパッケージです。そして、Yeoman のgeneratorです。
下記に上げるような他のジェネレータ同様に、Yeomanのルール...
http://yeoman.io/generators/
なので、yoコマンドをつかってインストールしたり、更新した...
. 先頭は generator-jhipster-で始めてください。
yeoman-generator と jhipster-blueprint の2つのキーワード...
ブループリントは、次のサブジェネレーター(ジェネレーター...
- common
- client
- server
- entity
- entity-client
- entity-server
- entity-i18n
- languages
- spring-controller
- spring-service
** generator-jhipsterをインポートする [#a93cd987]
JHipsterブループリントは、依存関係としてgenerator-jhipste...
const chalk = require('chalk');
const ClientGenerator = require('generator-jhipster/...
...
module.exports = class extends ClientGenerator {
constructor(args, opts) {
super(args, Object.assign({ fromBlueprint: t...
const jhContext = this.jhipsterContext = thi...
if (!jhContext) {
this.error(`これは、JHIPSTERのblueprint...
}
this.configOptions = jhContext.configOptions...
// このサブジェネレータ用のセットアップオプ...
jhContext.setupClientOptions(this, jhContext);
}
get initializing() {
// 親クラスのメソッドを直接よびだすことで何...
return super._initializing();
}
// 同様に、サブジェネレータのほかのフェーズの記...
}
上記の例の ClientGenerator のように、
アンダーバーで始まるメソッドは、親クラスで、再利用できま...
JHipsterのblueprintなどのサブジェネレータは、yeomanのフェ...
それぞれのyeomanのフェーズは、getterメソッドになっていま...
たとえば、get initializing を例にとってみます。
blueprintはフェーズでの処理を、オーバーライドすることで、...
*** yeomanのフェーズのカスタマイズ方法 [#sd8e79bd]
1) なにもしない場合は、こちら
-
get initializing() {
return super._initializing();
}
親クラスの初期化メソッドを呼び出しています。アンダーバー...
2) フェーズを全部上書きする例, 自前の制御オンリーですね。
-
get initializing() {
return {
myCustomInitPhaseStep() {
// Do all your stuff here
},
myAnotherCustomInitPhaseStep(){
// Do all your stuff here
}
};
}
3) フェーズを部分的に上書きする方法です.既存のメソッドの...
-
get initializing() {
const phaseFromJHipster = super._initializing();
const myCustomPhaseSteps = {
displayLogo() {
// JHIPSTERのdisplayLogoメソッドを上書き
},
myCustomInitPhaseStep() {
// あなたのオリジナルの処理
},
}
return Object.assign(phaseFromJHipster, myCustom...
}
ブループリントから直接JHipsterの変数や関数にアクセスする...
** 利用可能な変数と関数 [#n264f023]
*** 設定ファイル .yo-rc.json からの変数: [#x57e7b72]
あなたはJHipster設定.yo-rc.jsonとあなたのblueprint設定の...
*** グローバル変数 (ジェネレータ定数): [#x91f1b55]
ジェネレータ定数で定数を使うことができます。
const javaDir = `${jhipsterConstants.SERVER_MAIN_SRC...
const resourceDir = jhipsterConstants.SERVER_MAIN_RE...
const webappDir = jhipsterConstants.CLIENT_MAIN_SRC_...
*** 関数: [#a81440d5]
あなたはgenerator-baseですべての関数を使うことができます:
this.angularAppName = this.getAngularAppName(); // ge...
this.printJHipsterLogo(); // to print the JHipster logo
注意: generator-base.jsと内の変数generator-constants.js...
しかしgenerator-base-private.js、utils.jsなどのような他の...
** blueprintの開発のお作法 [#l874bec6]
blueprintの開発中に、以下の手順に注意してください。それら...
- ブループリントをグローバルにリンク
注意: ブループリント(ステップ3)を作成中の各プロジェクト...
-
cd my-blueprint
npm link
- JHipsterの開発版をあなたの設計図にリンクしてください(...
cd generator-jhipster
npm link
cd my-blueprint
npm link generator-jhipster
- 生成するアプリの新しいフォルダを作成し、そこにJHipster...
mkdir my-app && cd my-app
npm link generator-jhipster-myblueprint
npm link generator-jhipster (Optional: Needed only if yo...
jhipster -d --blueprint myblueprint
** JHipsterマーケットプレイスにblueprintを登録する [#w031...
blueprintをJHipsterマーケットプレイスで入手できるようにす...
- yeoman-generator
- jhipster-blueprint
公開されているnpm にあることを確認する必要がありますpacka...
*** しくったのを見つけた場合 [#t6749689]
JHipsterモジュールでもブループリントでもないエントリがマ...
modules-config.jsonファイルのblacklistedModulesセクション...
* いざ、使ってみる。 [#y03143d4]
たとえば、git labとかで、マージリクエストがとおったら
、
次の仕事をすぐやるんじゃなく、ナレッジベースを追加する時...
とれば、長期的には、仕事は楽になるんじゃないだろうか。
GitLabは、差分が見やすい、何を修正しようとしたときに、ど...
修正になったのかが、見やすいようになっている。
自分は、この差分をもとに、テンプレートを作成したら、
いいんじゃないかと思う。
** 数式的に、いいかえると [#p7efb6ca]
(差分)=(テンプレート)+ (パラメータ)
と考えるわけです。
なので、式変形すると、
(差分)- (パラメータ) = (テンプレート)
なのです。
ここで、gitがデファクトスタンダードな現状から、
(差分)= (マージリクエストの差分表示)
なので、欲をいえば、GitLabの差分表示画面に、(パラメータ...
(テンプレート)を生成してくれたらうれしいのですが、
そこは、手作業としておきましょうか。
** なにが、メリットなのかというと [#f9c18cd7]
それは、横展開の、高速化でしょうか。
(似たような仕様書)= (パラメータ)x N
とかんがえるわけです。
(パラメータ)1つについて、(差分)を取りながら
開発をすすめていって、
ついでに、(テンプレート)をいくわけです。
そうすると、2個目の(パラメータ)以降は、テンプレートの...
得られるわけなのです。
** おおまかな手順 [#jb48b489]
1. git labで、マージリクエストの差分を得る
2. 差分から、パラメータ部分を変数に置き換える
3. blueprint用のテンプレートファイルを作成する
かなぁ
ページ名: