【发布时间】: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 插件。
我尝试过的
我阅读了文档并看到了以下教程:
- https://github.com/gulpjs/gulp/blob/master/docs/API.md
- https://www.smashingmagazine.com/2014/06/building-with-gulp/
它们非常好,但我仍然不明白如何让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