使用gulp-rev-collector进行静态资源路径替换,html上没有替换成功

maketwin
  • 15

网上看了很多教程,完全按照配置来的,但是一直路径都没有被替换,后完全按照npm官网上配置gulp,也没有效果,求组大神,是不是gulp插件有问题,还是配置问题。

clipboard.png

回复
阅读 14.3k
7 个回答
苹果小萝卜
  • 5.1k

这是因为gulp-rev-collector有个bug,打开node_modules/gulp-rev-collector/index.js,第74行:

将 dirRX:  escPathPattern( closeDirBySep(srcDirname))替换成:
dirRX:  escPathPattern( closeDirBySep(srcDirname)).replace(/'/g, ''),

你看一下你在用gulp-rev的时候生成的rev-manifest.json文件中的文件名是否和你在html中要替换的那个文件名一致,我在替换过程中,由于使用了gulp-rename,所以生成的文件名为index-XXX.min.css,而在html中我自己写的引用文件名为index.css,并没有.min,所以在于json匹配的时候无法匹配到导致无法替换,你需要除了哈希值以外的其他所有文件名都一致才可以匹配替换。

请问楼主现在解决这个问题了吗?我这边现在遇到的问题是css可以替换,但是js一直没替换

eamin
  • 0
新手上路,请多包涵
宣传栏