【问题标题】:gulp.watch does not run tasks in ordergulp.watch 不按顺序运行任务
【发布时间】:2016-06-22 14:18:24
【问题描述】:

目标

创建一个gulp.watch 任务以按特定顺序运行其他任务

为什么这不是重复的

很多人建议我看看How to run Gulp tasks sequentially one after the other。但是,这个问题集中在gulp.task,而我的问题集中在gulp.watch

我正在寻找的解决方案是使用gulp.watch 来实现我所追求的同步效果。但是,如果这是不可能的,我将退回到gulp.task

背景

我有一个小项目,我有一些测试文件以及 gulp gulp-complexity 插件。我希望先运行测试文件,然后在每次更改 JavaScript 文件时运行gulp-complexity 插件。

我尝试过的

我阅读了文档并看到了以下教程:

它们非常好,但我仍然不明白如何让gulp.watch 任务同步(按特定顺序)运行任务,而不是异步运行它们。

代码

这是我目前得到的:

var gulp = require("gulp");
var mocha = require("gulp-mocha");
var complexity = require("gulp-complexity");

gulp.task("test", function(){
    gulp
    .src("./test.js")
    .pipe(mocha())
    .on("error", function(){
        this.emit("end");
    });
});


gulp.task("complexity", ["test"], function(){
    gulp.src('*.js').pipe(complexity());
});

gulp.task("watch", function(){
    gulp.watch("./*.js", ["test", "complexity"]);
});

我在这里做错了什么?

请记住,我对 gulp 还是很陌生(今天开始学习它!)所以欢迎对我的问题进行任何解释!

【问题讨论】:

  • 我读了那个问题,但没有帮助,因为他们不使用 gulp.watch。谢谢你的建议!
  • 编辑了我的问题以解释为什么它不是重复的!
  • 是否使用gulp.watch() 无关紧要。该问题的答案也适用于您的情况。
  • 这对我很重要。这就是我提出这个问题的原因:D

标签: javascript node.js npm gulp gulp-watch


【解决方案1】:

这是一个Gulp issue,应该在gulp 4.0中修复

现在,试试run-sequence [https://www.npmjs.com/package/run-sequence]

【讨论】:

    猜你喜欢
    • 2011-05-27
    • 2017-04-19
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多