我正在使用gulp replace用我的package.json文件中的版本号替换字符串,如下所示:
gulp.task('replace', ['uglify','process-html','copy-release'], function () {
return gulp.src([releaseFolder + '/**/*.html',releaseFolder + '/app.js'])
.pipe( debug({title:"replace files"}))
.pipe(replace( "__applicationVersionNumber__", packageJson.version ))
.pipe(gulp.dest(releaseFolder));
});
这适用于releaseFolder / tempaltes / * .html中的6个文件,其中只有5个被替换:
这正在替换文件上的文本。即更换完成后,它们会被保存回同一个地方。如果我将输出位置设置为不同,则它们全部被替换,但它们已经位于我需要它们的位置。
为什么错过了最后一个文件?
由于
我的整个gulpFile在这里: https://github.com/Roaders/YouTubeCommentator/blob/3808036d7ce1fa84e035bc01cc765c5dd7a1e008/gulpfile.js
答案 0 :(得分:2)
基本上所有任务都错误地发出信号async completion。对于每项任务,您应该执行以下两项一次:
由于您似乎在所有任务中都使用了流,因此您可以摆脱回调。
例如,您的copy-release
任务应如下所示:
gulp.task('copy-release', ['clean'], function () {
return gulp.src([
'./templates/**/*.html',
'./lib/**/*.js',
'./assets/**/*.*',
'./css/**/*.css'
], {base: './'})
.pipe(gulp.dest(releaseFolder));
});