我正在尝试使用 gulp-rev 和 gulp-revRereplace 创建 cahe-buster,当我编译 javascript 时一切正常,但主 css 文件的替换没有正常工作,替换总是采用旧的 rev-manifest.json 文件而不是由任务生成的新文件,我假设这与 gulp 系列中的任务顺序有关?因为代码与javascript任务几乎相同,那么为什么它的工作方式不同呢?
这是我的古尔普文件.js https://github.com/AdamWojda/35_web_dev_chalange/blob/master/Gulpfile.js
运行时如下所示:
| watch
|--
| generate_js generate_css
|-- compress_javascript |-- generate_styles
|-- revreplace |-- revreplace
一个任务中的revreplace
可能会重写第二个任务中manifest.json
的内容。 詹姆斯·克内尔森在文档中使用反向方式
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
(。