我正在使用gulp。我想在' build-dev'之后运行' connect task。任务已完成。
这是我写的:
gulp.task('dev', [ 'build-dev' ], function() {
return gulp.run([ 'connect' ]);
});
这会引发警告:
gulp.run() has been deprecated. Use task dependencies or gulp.watch task triggering instead.
我该如何解决?
答案 0 :(得分:1)
创建“connect”作为新任务,依赖于“build-dev”和“dev”?
https://stackoverflow.com/a/26390567/125680
编辑:好的,找到你了。
根据这个:
https://github.com/gulpjs/gulp/issues/96
还没有一种方法可以做到这一点,所以他们推荐运行序列模块:
答案 1 :(得分:0)
我目前的解决方案是使用承诺:
var build = function() {
return new Promise(function(fulfill, reject) {
// assuming usage like 'build(args, callback)'
build(args, function(err) {
if (err) {
console.log('build failed');
reject(err);
} else {
console.log('build succeeded');
fulfill();
}
});
});
};
var connect = function() {
return new Promise(function(fulfill, reject) {
// assuming usage like 'connect(address, callback)'
connect(address, function(err) {
if (err) {
console.log('connect failed');
reject(err);
} else {
console.log('connect succeeded');
fulfill();
}
});
});
};
gulp.task('dev', function() {
return build().then(function() {
return connect();
});
});
答案 2 :(得分:-3)
要使用任务依赖关系,您应该重写:
gulp.task('dev', [ 'build-dev' ], function() {
return gulp.run([ 'connect' ]);
});
到此:
gulp.task('dev', [ 'build-dev', 'connect' ]);