我试图用gulp-rev和gulp-revReplace创建cahe-buster,当我编译javascript时一切正常,但主css文件的替换不能正常工作应该,替换总是采用旧的rev-manifest.json文件,而不是新生成的任务,我假设这与gulp系列中的任务顺序有关?因为代码几乎与javascript任务相同,所以为什么它会不同地工作?
这是我的gulpfile.js https://github.com/AdamWojda/35_web_dev_chalange/blob/master/Gulpfile.js
答案 0 :(得分:1)
运行时如下所示:
| watch
|--
| generate_js generate_css
|-- compress_javascript |-- generate_styles
|-- revreplace |-- revreplace
来自一个任务的revreplace
可能会从第二个任务重写manifest.json
的内容。文档中的jamesknelson使用反向方式
gulp.task("revision", ["dist:css", "dist:js"], function(){
return gulp.src(["dist/**/*.css", "dist/**/*.js"])
.pipe(rev())
.pipe(gulp.dest(opt.distFolder))
.pipe(rev.manifest())
.pipe(gulp.dest(opt.distFolder))
})
其中每个revision
任务首先执行dist:css
和dist:js
,最后重写(一次)manifest.json
。我建议改变任务执行方式(watch -> revreplace -> generate_js && generate_css
)。