アホイ・グラント・マスター!
次のようなことができるように、外部構成ファイルを grunt にロードしたいと思います。
$ grunt dev:homepage
そしてそれはロードされhomepage-config.json
、実行されますwatch
$ grunt dev:contact
そしてそれはロードされcontact-config.json
、実行されますwatch
各構成ファイルは、watch、jshint、concat などの特定のタスクのセットアップを提供します。
私のGruntfile内には、というタスクがありますdev
grunt.registerTask('dev', 'loads in external -config.json file, then runs watch', function(name) {
grunt.initConfig(grunt.file.readJSON(name + '-config.json'));
console.log(grunt.config('jshint.pageConfig.src') // correctly logs whatever had been specified in my external json file
grunt.task.run('watch'); // correctly boots up watch with configuration specified by external file
});
そのタスク内でdev
、外部からロードされた構成は問題なく機能します。その console.log は期待どおりの結果を返しwatch
、外部から指定されたセットアップでタスクが開始されます。
私の問題は、watch
タスクのトリガーを開始すると、それらのタスクがこの外部でロードされた構成にアクセスできなくなったように見えることです。dev
タスクと によってトリガーされたタスクの間のどこかでwatch
、動的にロードされた構成が吹き飛ばされます。
なぜこれが起こっているのか、そしてどうすれば私の目標を達成できるのか、誰にでも光を当てることができますか?
どうもありがとう、-ジェームス