在一个项目的开发过程中,我希望能够使用Babel来监视和重新编译服务器端的代码(因为我想在Parse上使用“ES6”),并使用Browserify/Watchify来监视和重新编译客户端的代码。我该怎么做呢?我可以分别编写两个监视任务,但是我需要打开两个终端窗口以便同时监视这两个目录。有没有可能通过一个gulp任务同时完成这两个任务呢?比如说执行两个任务?
是的,你可以做你想做的事。
gulp.task('watch', function() {
gulp.watch(['directoryA/**/*.js', 'directoryB/js/**/*.js'], ['task']);
});
如果您想观看其他文件类型,也可以将更多的内容添加到数组中。例如:'directoryA/**/*.html'
如果您想要像您提到的那样运行两个不同的任务,请将其更改为:
gulp.task('watch', function() {
gulp.watch(['directoryA/**/*.js'], ['taskA']);
gulp.watch(['directoryB/**/*.js'], ['taskB']);
});
这是我使用 Browerify 和 Babelify 的一个示例gulp任务。
gulp.task('taskA', function() {
return browserify('path/to/file.js')
.transform('babelify')
.bundle()
.pipe(source('file.js')) // this is the output file name
.pipe(gulp.dest('destination/directory/')); // and this is where it ends up
});
编辑
我刚刚意识到我没有说明你是否需要一个或两个任务。技术上来说,你可以选择任何一种方式,但最好的方法是拥有两个独立的任务。
gulp watch
命令来观察我需要的所有文件夹。 - Jiew Menggulp.watch
,一个应该是调用启动watchify任务。我该如何做后者? - Jiew Meng