web-dev-qa-db-ja.com

gruntfileの<%= yeoman.app%>および<%= yeoman.dist%>変数

いくつかの例では、gruntfilesで<%= yeoman.app%>および<%= yeoman.dist%>環境変数の使用がよく見られます。私は自分でこれを使用していませんが、これらの変数はどこから派生しますか?

また、それらの変数をオーバーライドすることは可能ですか?これらの特定の環境変数を使用するために、ヨーマンが必要ですか?

documentation および [〜#〜] faq [〜#〜] を読みました。これについてさらに議論するリソースはありますか?

46
chrisjlee

これらの変数はどこから派生しますか?

大まかに説明すると、 Gruntfileの例 を読んで、<%= variable %>構文。 Gruntを初めて使用する場合は、そのページにブックマークを付けてください。最初は重要ではないように思えますが、繰り返し読むのに役立ちます。

より具体的には、ええ...これらはYeomanジェネレーターからのものです。たとえば、最新の generator-angular を実行すると、生成されるGruntfile.jsには次のコードが含まれます。

yeoman: {
  // configurable paths
  app: require('./bower.json').appPath || 'app',
  dist: 'dist'
}

少なくとも私が使用したジェネレータからは、<%= yeoman.app %>は、デフォルトで 'app'と呼ばれるディレクトリになり、<%= yeoman.dist %>は「dist」を指します。ジェネレーターが作成したGruntfile全体を貼り付けた場合、アプリをビルドおよびテストするタスクの多くでこれらが使用されていることもわかります。

想像できるように(そして Gruntfileの例 )でわかるように、これはGruntの一部であるため、Yeomanだけに制限されません。したがって、これを使用してGruntfileをクリーンに保ち、 [〜#〜] dry [〜#〜]

それらの変数をオーバーライドすることは可能ですか?

はい。上記で参照したコードは、appdistが異なる場所を指すように変更できます。 Yeomanジェネレーターによって作成されたアプリでこれを行うと、価値以上の作業が発生する可能性があります。 Yeomanジェネレーターの重要なポイントは、作業を自動化して、これらのことをいじる必要がないようにすることです。ジェネレーターを使用するたびに定型的なセットアップを取得します。

...独自のジェネレーターまたはアプリをゼロから作成し、ジェネレーターから「借用」している場合を除き、アプリにとって重要なものに設定することができます。

特定の環境変数を使用するためにヨーマンが必要ですか?

いいえ。ただし、ゼロからアプリを構築する場合、「yeoman」という名前を使用する理由はありません。 Yeomanで生成されたアプリを使用している場合、それを変更する理由はわかりません。

72