Javascript gulp.run()已被弃用
我在喝啤酒。我想在“构建开发”任务完成后运行“连接”任务。Javascript gulp.run()已被弃用,javascript,node.js,gruntjs,gulp,Javascript,Node.js,Gruntjs,Gulp,我在喝啤酒。我想在“构建开发”任务完成后运行“连接”任务。 以下是我写的: gulp.task('dev', [ 'build-dev' ], function() { return gulp.run([ 'connect' ]); }); 这将导致一个警告: gulp.run() has been deprecated. Use task dependencies or gulp.watch task triggering instead. 如何修复它?将“连接”创建为一个依赖于“
以下是我写的:
gulp.task('dev', [ 'build-dev' ], function() {
return gulp.run([ 'connect' ]);
});
这将导致一个警告:
gulp.run() has been deprecated. Use task dependencies or gulp.watch task triggering instead.
如何修复它?将“连接”创建为一个依赖于“构建开发”和“开发”的新任务
编辑:好的,明白了
据此:
在gulp中还没有固定的方法来实现这一点,因此他们推荐运行顺序模块:
要使用任务依赖项,应重写以下内容:
gulp.task('dev', [ 'build-dev' ], function() {
return gulp.run([ 'connect' ]);
});
为此:
gulp.task('dev', [ 'build-dev', 'connect' ]);
我目前的解决方案是使用承诺:
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();
});
});
connect不能依赖于build dev,因为它也可以在build-staging之后运行。这不是真的:第一个示例在“build dev”之后运行“connect”。第二种方法是让它们并行运行。