Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript gulp.run()已被弃用_Javascript_Node.js_Gruntjs_Gulp - Fatal编程技术网

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”。第二种方法是让它们并行运行。