【发布时间】:2016-05-06 11:09:10
【问题描述】:
我正在使用 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 个被替换:
这是替换文件上的文本。 IE。替换完成后,它们将保存回同一位置。如果我将输出位置设置为不同,它们都会被替换,但它们已经在我需要它们所在的位置。
为什么最后一个文件丢失了?
谢谢
我的整个 gulpFile 都在这里: https://github.com/Roaders/YouTubeCommentator/blob/3808036d7ce1fa84e035bc01cc765c5dd7a1e008/gulpfile.js
【问题讨论】:
-
最佳猜测:
replace任务运行时文件还不存在。可能是因为它依赖于其他三个任务之一。 -
是的,复制发布任务将文件复制到此位置,但替换任务在复制任务完成之前不会启动。我需要添加延迟吗?
-
不,您需要确保您的 gulpfile 中没有任何并发/异步完成错误。
-
好的,我已经为我的 gulpfile 添加了一个链接。你能看出那里有什么问题吗?感谢您的回复。
标签: gulp gulp-replace