【发布时间】:2015-02-15 04:09:39
【问题描述】:
我正在关注官方文档,但我的 gulp 任务没有按顺序运行。
gulp.task("mytask", ["foo", "bar", "baz"]);
gulp.task("foo", function (callback) {
gulp
.src("...")
.pipe(changed("..."))
.pipe(gulp.dest(function (file) {
// ...stuff
return "...";
}))
.on("end", function() {
// ...stuff
callback();
});
});
gulp.task("bar", function (callback) {
//...
});
gulp.task("baz", function (callback) {
//...
});
但我的输出是这样的:
Starting 'mytask'...
Starting 'foo'...
Starting 'bar'... // <-- foo is not done yet!
Finished 'foo'
Finished 'bar'
Starting 'baz'...
Finished 'baz'
Finished 'mytask'
如何让它们按顺序运行?
【问题讨论】:
-
你没有。如果您需要串行任务,请使用
grunt。gulp的重点是并行任务(和流)。 -
@Mathletics 你大错特错。 Gulp 允许同步和异步。有两种方法可以同时实现。
-
那个“重复”的答案并非如此。我的问题假设父任务的语法处理排序。显然不是。您需要明确重申所有相关任务的顺序,如下面接受的答案所示。现在在父级上声明就足够了。
标签: javascript node.js gulp