我想将外部配置文件加载到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
触发的任务之间,动态加载的配置会被吹走。
任何人都可以阐明为什么会这样,以及我如何实现目标?
非常感谢, -James