h b*_*bob 13 javascript node.js gulp
我希望下面的gulp调用一个接一个地同步运行.但他们不遵守命令.
在运行序列节点模块没有帮助在这里,因为我并不想串联运行一饮而尽任务(即它的语法类似于gulp.task("mytask", ["foo", "bar", "baz"]等等),而是在一系列吞掉"来电",你见下文.
gulp.task("dostuff", function (callback) {
gulp
.src("...")
.pipe(gulp.dest("...");
gulp
.src("...")
.pipe(gulp.dest("...");
gulp
.src("...")
.pipe(gulp.dest("...");
callback();
});
Run Code Online (Sandbox Code Playgroud)
如何让它们一个接一个地运行?
您可以使用async作为调用的控制流,仅将其置于一个任务中,同时避免您获得"金字塔效果".所以这样的事情对你的用例应该是好的:
var async = require('async');
gulp.task('yeah', function (cb) {
async.series([
function (next) {
gulp.src('...')
.pipe(gulp.dest('...')
.on('end', next);
},
function (next) {
gulp.src('...')
.pipe(gulp.dest('...')
.on('end', next);
},
function (next) {
gulp.src('...')
.pipe(gulp.dest('...')
.on('end', next);
}
], cb);
});
Run Code Online (Sandbox Code Playgroud)
这也将允许您进行一些错误处理,并在出现问题时更好地定位.
| 归档时间: |
|
| 查看次数: |
5231 次 |
| 最近记录: |