Gulp 运行替代方案

标签 gulp gulp-watch

每次运行 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/

相关文章:

javascript - Ace 编辑器和最小化文件

javascript - gulp-insert 排除包装某些文件

node.js - 运行 Gulp 任务时出现 Stdout maxBuffer 错误

gulp - 如何让 gulp-jshint 忽略文件夹

CSS 缩小并使用 gulp 重命名

javascript - “gulp-babel”在 Node js 版本 4 中不起作用

json - gulp-nunjucks-html + gulp-data 未在 watch 上编译

intellij-idea - Intellij 在 Linux 上以 root 身份运行配置

javascript - gulp, compass, live reload & partials reloads

javascript - 无法让 gulp watch 触发所谓监视文件夹内文件更改的构建功能