我有看完单个文件的gulp任务。我希望这个观察者在仅此文件发生更改时发出事件,而不是周围的文件。
gulp.task('watchConfig', function(){
var watcher = gulp.watch(['profiles.json'], ['updateConfig']);
watcher.on('change', function(event) {
console.log('File ' + event.path + ' was ' + event.type);
});
});
此观察程序会在与tmp
位于同一级别的profile.json
目录上不断触发。我收到以下消息
文件f:\ my_working_dir \ tmp \已添加
如何在 profile.json
更改时触发此任务?
似乎只有文件夹会触发额外的事件,而不是常规文件。添加/删除/重命名与profile.json
相同级别的任何文件夹会触发观察者,但这不会发生在其他文件中。
答案 0 :(得分:0)
我认为问题在于您如何声明要观看的文件。 而不是:
var watcher = gulp.watch(['profiles.json'], ['updateConfig']);
尝试这样做:
var watcher = gulp.watch('profiles.json', ['updateConfig']);
括号内的任何内容都应该是要运行的任务。