Asynchronous 同步运行任务的gulp循环
现在我有一个问题 下面是我的代码 //代码 //config.jsonAsynchronous 同步运行任务的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
[
{
"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()被贬值了:你能告诉我你到底在干什么吗?非常感谢。我想做的是运行“复制”任务三次。我会试试你的方法。