我在gulp文件中定义了以下任务:
gulp.task('watch:livereload', function(){
livereload.listen();
gulp.watch('app/**').on('change', livereload.changed);
});
我最近才意识到只有像html这样的静态内容才有用。因为我使用sass而app主要是js。我想调用我预定义的一些任务来重新编译js和css,对它们进行任何更改。
我一直在调用任务的方式是:
gulp.task('compile:development',
[
'bower',
'compile:scripts:development',
'compile:sass:development',
'serve',
'watch:livereload'
]
);
但我希望任务能够在变化时发生。想法?
答案 0 :(得分:1)
为了浏览器更新,您应该像处理livereload
一样继续使用gulp.watch
。如果你想在改变时重新运行一些任务,我认为gulp.watch('app/**', ['compile:development']);
是一种简单而内置的方法。
gulp.watch('app/**', ['compile:scripts:development', 'compile:sass:development']);
或更具体的任务:
watch
watchers
任务的示例,该任务定义了一些具有不同tasks
的{{1}}:
gulp.task('watch', function () {
gulp.watch('app/sass/*', ['compile:sass:development']);
gulp.watch('app/js/*', ['compile:scripts:development']);
});