我的grunt-contrib-watch配置如下:
watch: {
tasks: ['copyFiles'],
js: {
files: [
path.join(__dirname, "../gscm-js/src/**/*.js"),
path.join(__dirname, "../gscm-js/templates/**/*.*")]
},
options: {
debounceDelay: 250,
}
}
我的copyFiles
任务看起来像这样;
grunt.registerTask('copyFiles', 'copy templates and js', function () {
console.log('in copyFiles');
var done = this.async();
var sourceScripts = path.join(__dirname, "../gscm-js/src");
var sourceTemplates = path.join(__dirname, "../gscm-js/templates");
ncp(sourceScripts, scriptsDirectory, function () {
ncp(sourceTemplates, templatesDirectory, done);
});
});
即使监视任务输出文件已更改,也不会将日志消息输出到控制台。
答案 0 :(得分:0)
grunt-contrib-watch
是一个Grunt多任务,js
是其多个任务之一的名称。
您需要将tasks
配置设置移至js
任务:
watch: {
js: {
files: [
path.join(__dirname, "../gscm-js/src/**/*.js"),
path.join(__dirname, "../gscm-js/templates/**/*.*")
],
tasks: ['copyFiles']
},
options: {
debounceDelay: 250
}
}
options
可以保持原样 - 它经过特殊处理,并在多个任务之间共享。