Asynchronous 同步运行任务的gulp循环

Asynchronous 同步运行任务的gulp循环,asynchronous,gulp,sequence,Asynchronous,Gulp,Sequence,现在我有一个问题 下面是我的代码 //代码 //config.json [ { "name": "1" }, { "name": "2" }, { "name": "3" } ] //吞咽 var gulp = require('gulp'); var fs = require('fs'); var gulpsync = require('gulp-sync')(gulp); var conf

现在我有一个问题 下面是我的代码

//代码 //config.json

[
    {
        "name": "1"
    },
    {
         "name": "2"
    },
    {
         "name": "3"
    }
]
//吞咽

var gulp = require('gulp');
var fs = require('fs');
var gulpsync = require('gulp-sync')(gulp);

var config = JSON.parse(fs.readFileSync(paths.config, 'utf-8'));
var tasks = [];

warehouseConfig.forEach(function(item) {
    var task = item.name;
    tasks.push(task);
    template.dist = task;
    gulp.task('copy:' + task, function() {
        template.dist = task;
        console.log('start copy ' + task + 'dist:' + template.dist);
        gulp.start('copy');
    });
    gulp.task(task, ['copy:' + task], function() {
        return gulp.src(task)
            .pipe(gulp.dest(task + '/'));
    });
});

gulp.task('copy', ['copy:www', 'copy:plugins', 'copy:platforms']);

gulp.task( 'build:pre', gulpsync.sync(tasks));

gulp.task( 'build', ['clean'], function() {
    gulp.start('build:pre');
});
现在,我有一个问题,相同的任务“复制”只运行一次,我希望它运行三次。
您有什么好主意吗?

如果您只想运行“吞咽”任务三次,您实际上可以在子进程中运行它:

const exec = require('child_process').exec;
//replace gulp.start('copy') with 
exec('gulp copy');
这将使其异步。您可以将其替换为:child_process.execSync使其同步

以下是链接:


希望这能起作用,因为gulp.start()被贬值了:

你能告诉我你到底在干什么吗?非常感谢。我想做的是运行“复制”任务三次。我会试试你的方法。