3
我有一個Gulp任務,wire
將應用程序JavaScript注入到index.html中。文件添加和刪除的Gulp手錶
我想有另一咕嘟咕嘟任務,watch
,該手錶在JavaScript文件的更改,並運行wire
如果有一個新的文件添加或現有文件中刪除。下面
的任務完成了這一過程:
gulp.task('wire', function() {
var injectScripts = gulp.src('src/app/**/*.js');
return gulp.src(path.join(conf.paths.base, 'index.html'))
.pipe($.inject(injectScripts, {}))
.pipe(gulp.dest(path.join(conf.paths.base)));
});
gulp.task('watch', function() {
var watcher = gulp.watch(path.join(conf.paths.src, '/app/**/*.js'));
watcher.on('change', function (ev) {
if (ev.type === 'added' || ev.type === 'deleted') {
gulp.run('wire');
}
});
});
不幸的是,它看起來像這樣的方法是棄用。在運行時,我會在控制檯中收到棄用通知:
gulp.run()已被棄用。改爲使用任務依賴關係或gulp.watch 任務觸發。
當我換出gulp.run()
與gulp.start()
(這似乎幾乎沒有任何文件),該文件修改的index.html的滯後(他們需要幾分鐘穿過去,這是奇怪)。
很顯然,我可以改變我的watch
任務只運行wire
每當引發JavaScript文件的更改,並不能過濾基於事件的類型,但它似乎像一個巨大的不必要的處理廢棄物運行wire
當現有文件的更改:
gulp.watch('src/app/**/*.js', ['wire']);
建議的Gulp策略是什麼?
這是有道理的,謝謝!我已經瀏覽了該主題,但錯過了這一點。 – Mike