我正在尝试执行以下操作:
gulp.src('js/*.js')
.pipe(concat('_temp.js'))
.pipe(gulp.dest('js/'));
gulp.src('build/js/app.js')
.pipe(replace('// includes', fs.readFileSync('js/_temp.js')))
.pipe(uglify())
.pipe(rename('app.min.js'))
.pipe(gulp.dest('build/js'));
所以,我正在联接.js
中的所有js/
个文件。连接文件名为_temp.js
;
之后,我正在阅读app.js
并尝试将// includes
字符串替换为连接的_temp.js
文件。这不起作用,因为节点表示该文件不存在。它确实存在,所以我第二次运行这个任务,它的工作原理。
这很可能与异步性有关,但我无法看到我会如何做到这一点?
答案 0 :(得分:3)
您可以将任务拆分为2,并使用Gulp的依赖解析系统使其中一个任务一个接一个地运行。
gulp.task('task1', function () { ... });
gulp.task('task2', ['task1'], function () { ... });