每次运行 gulp 都会看到这条消息 gulp.run() has been deprecated. Use task dependencies or gulp.watch task triggering instead.
示例代码:
var watch = require('gulp-watch');
watch(['public/**/*.js','!public/**/*.min.js'],function(){
gulp.run('compressjs');
gulp.run('bs-reload');
});
如何避免使用
gulp.run()
gulp watch ?
最佳答案
你不应该使用 run
.这是另一种选择(解决您答案的那部分),但不是您需要做的:
gulp
.start('default')
.once('task_stop', function(){
//do other stuff.
});
如果你真的必须启动一个临时任务,但实际上可以使用 run...你可以使用
.start
与任务名称,并附加到 task_stop
处理程序在任务完成时触发某些东西。这在为 gulp 任务编写测试时很好,但仅此而已。然而,在日常 gulp 使用中,这是一种反模式。
通常,您构建较小的任务并将它们组合起来。这是正确的方法。看到这个:
var gulp = require('gulp'),
runSequence = require('run-sequence');
function a(){
//gulpstuff
}
function b(){
//gulpstuff
}
function d(callback){
runSequence('a', 'b', callback)
}
gulp
.task('a', a) // gulp a -runs a
.task('b', b) // gulp b runs b
.task('c', ['a', 'b']) //gulp c runs a and b at the same time
.task('d', d); //gulp d runs a, then b.
基本上,如果 c 或 d 是一个监视任务,您将实现相同的目标,即在没有
.run
的情况下触发已经注册的较小的 gulp 任务。
关于Gulp 运行替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28826418/