创建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"]);
});
我在这里做错了什么?
请记住我还是很新的(今天开始学习它!)所以对我的问题的任何解释都会受到欢迎!
答案 0 :(得分:3)
这是Gulp issue,应该在gulp 4.0
中修复目前,请尝试run-sequence
[https://www.npmjs.com/package/run-sequence]
答案 1 :(得分:1)
以下是一些解决方案 - https://stackoverflow.com/a/22826429/2832584 此外,您似乎在上面的链接中复制了问题