哎呀咕噜大师!
我想将外部配置文件加载到 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
,动态加载的配置被吹走了。
谁能解释为什么会发生这种情况以及我如何实现我的目标?
非常感谢,-詹姆斯