javascript - gulp.watch 不按顺序运行任务

标签 javascript node.js npm gulp gulp-watch

目标

创建一个 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 issue应该在 gulp 4.0 中修复

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

关于javascript - gulp.watch 不按顺序运行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37970787/

相关文章:

javascript - 你如何创建一个像 jquery 一样充当函数的包装器对象

javascript - 有没有办法让枚举在整个meanjs堆栈中可用

javascript - 使用 Gulp 将 NPM 模块/库复制到分发文件夹

node.js - 如何在 Windows 上安装 JPM?

node.js - npm 将模块安装到主目录

javascript - zepto 触发器不工作

javascript - CSS和JS图像在滚动顶部缩放

javascript - 从 jquery text() 中删除标题

node.js - 所需的 npm 错误与实际版本?

javascript - Node.js <Class> 不是构造函数