0

私はyeomanでangularJSプロジェクトを生成しています。私は、引数を指定して発電機を呼び出し、私が行って、私の主発電機のスクリプト(index.js)からそれを得る:生成テンプレート内でyeoman-generator変数を使用する

this.argument('name', { type: String }); 

は、私が使用してこの同じindex.js内部には、このパラメータを使用することができます。

this.options.name 

質問:テンプレートに変数this.options.nameを使用して、その値を変数に渡すことができます。どうしたらいいですか?

答えて

0

角度定数を定義し、この値に設定します。次に、このビューに関連付けられたコントローラ内で、この定数を注入します。

myApp.constant('YEOMAN_NAME', MYVALUE); 

次にだけ、ビューに関連するコントローラの内部にあなたの定数を注入スコープ変数にこの定数を関連付け、テンプレート内部にそれを使用します。

ここで、「最も難しい」部分は、角度環境内でこの値を取得する方法です。

あなたのindex.jsはわかりませんが、あなたのページに関連付けられている主なスクリプトだと思います。あなたがメインのスクリプト内で

this.myVariable = 'myValue'; 

ような何かを行う場合は(あなたには、いくつかの関数内であることを行っていない場合)この場合 は、あなたが実際にウィンドウオブジェクトに新しい属性を作成している

だから、何行うことができ、ウィンドウパラメータに、この変数を関連付け、そしてあなたがウィンドウに何かを上書きする危険にないので同じように、可能な限り最も具体的にしようとすることです。そして、あなたが内側にあなたの定数を定義することができ

window.myYeomanName = this.options.name; 

アンングルARどこでもちょうどやって:

myApp.constant('YEOMAN_NAME', window.myYeomanName); 
+0

Thnakあなたは非常に、私はそれを試してみると、それが働いた場合あなたにお知らせします。 Node.jsから変数にアクセスしたいのですが? – chopeds

+0

node.jsアプリケーションサーバー側とanglejsアプリクライアント側があることを意味しますか? – quirimmo

+0

はい、私は@quirimmoをしています。私は両方のanglejsとnodejsの側からYeomanのジェネレータ変数にアクセスしたいと思っています – chopeds

0

をNode.jsのからヨーマン変数にアクセスするには、私は次のようでした:

を私は、帆からファイルconnections.jsの名前を変更し_connections.jsにそれを名前を変更し、それを配置しましたあなたのジェネレータのフォルダ "templates"の中にある帆のフォルダと同じレベルにあります。このようにしておくと、次のようになります。

> yeomanGeneratorFolder 
> |-app 
>  |-index.js 
>  |-templates 
>  |-sails 
>  |-_connections.js 
>  |- .... 

ジェネレータのindex.jsで。私は必要なデータをjsファイルに書き込む関数を作成しました。 DBNAMEがある

database: '<%=dbName%>' //optional 

お知らせ:_connections.jsで

connections() { 
     this.fs.copyTpl(this.templatePath('_connections.js'), this.destinationPath('./config/connections.js'), 
     { 
     dbName: this.item.dbName 
     }); 
    } 

は、私が書いた:私は、私は新しいファイルに必要となるデータが含まれていcopyTpl()関数内でJSONオブジェクトを送りました私がJSONに与えたキー。私はindex.jsのcopyTpl()関数の中で送りました。

関連する問題