gulp.run()已被弃用

我正在使用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. 

我该如何解决?

创build“连接”作为一个新的任务依赖于“构build开发”和“开发”?

https://stackoverflow.com/a/26390567/125680

编辑:好吧,得到你。

根据这个:

https://github.com/gulpjs/gulp/issues/96

还没有一个方法可以做到这一点,所以他们推荐运行序列模块:

https://www.npmjs.org/package/run-sequence

我目前的解决scheme是使用承诺:

 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(); }); }); 

要使用任务依赖关系,你应该重写这个:

 gulp.task('dev', [ 'build-dev' ], function() { return gulp.run([ 'connect' ]); }); 

对此:

 gulp.task('dev', [ 'build-dev', 'connect' ]);