Yeoman
で始まる角度のあるプロジェクトでは、grunt serveタスクが定義されるように各環境に必要な定数でjsonファイル(dev、test、dist ...)があります。以下のような:複数の交換可能なファイルからの生成
grunt.registerTask('serve', function(environment) {
grunt.task.run([
...
'ngconstant:'+environment,
...
]);
});
、その後ngconstantに、私たちは持っている:
ngconstant: {
options: {
name: 'environment',
dest: ...
},
dev: {
constants: {
'ENV': grunt.file.readJSON('environments/dev.json')
}
},
test: {
constants: {
'ENV': grunt.file.readJSON('environments/test.json')
}
},
...
}
}
を、それがgrunt serve:dev
で実行することができるように、grunt serve:test
...
今、私たちは、第2の基準に応じたアプリケーションの特定の側面を変更する必要が
が、これはngconstantで行うことができます...それはgrunt serve:dev:target1
、
grunt serve:test:target2
のように構築することができることのように、(のは、ユーザーのターゲットを呼びましょう) ?私が今まで持っていた唯一の類似のアイデアは、
dev-target1
、
dev-target2
、
test-target1
...のようなターゲットを定義することでした。各セットは
ENV
を1つのファイルに、
TARGET
をもう1つに設定しましたが、スケーラブルではありませんもっと早く来る)、ちょうど普通の醜い。