我是新手。
我写了两个需要执行的任务。当我单独运行它们时,它们工作得很好。但是当我把它们组合在一起时,"替换"不起作用。
gulp.task('bundle-source', function () {
return bundler.bundle(config);
});
gulp.task('bundle-config', function(){
return gulp.src(['config.js'])
.pipe(replace('src/*', 'dist/*'))
.pipe(gulp.dest(''));
});
gulp.task('bundle', ['bundle-config', 'bundle-source']);
我认为问题是他们都操纵config.js。我认为第二个任务保存到磁盘时会覆盖第一个任务所做的更改。第二个任务大约30秒。
Gulp任务默认并行运行。因此,如果你的任务都在处理相同的文件,它们可能会踩到彼此的脚趾头。
你可以使用gulp的任务依赖项让它们一个接一个地运行。因此,如果bundle-config
应该在bundle-source
之前运行:
gulp.task('bundle-source', ['bundle-config'], function () {
return bundler.bundle(config);
});
如果你需要它们一个接一个地运行,你也可以使用像run-sequence这样的包:
var seq = require('run-sequence');
gulp.task('bundle', function(cb) {
return seq('bundle-config', 'bundle-source', cb);
});
最后,您可以使用gulp 4,它有一个内置机制来串行运行任务。