文件MD5命名中路径问题
项目中使用gulp-rev-append插件给文件加版本号,解决静态资源文件缓存的问题。
实际使用中,版本命名卡在了路径处理上。
项目目录如下:
index.html
gulpfile.js 配置如下:
var rev = require('gulp-rev-append');
gulp.task('rev',function () {
gulp.src('../h5.mailejifen.com/views/site/index.html')
.pipe(rev())
.pipe(gulp.dest('../h5.mailejifen.com/views/site/'))
})
输出结果:
@@hash值没有被MD5版本号替换。
于是我做了个例子比较:
index.html
输出结果为:
可以看出:加上网址前缀的http://static.mailejifen.com 和 文件引用地址中有变量的{{theme}} 文件不能通过gulp-rev-append 追加版本号。
想用路径替换的方式做,gulp-rev+ gulp-collector, 实际使用也没有成功。
大家对文件采用绝对路径(因为在不同的域下)引用,且文件路径中存在变量(后台输出的时候才能赋值)的场景,怎么使用gulp-rev-append(或者其他插件) 解决给引用资源加版本号的问题呢?
请问,题主最后解决了吗?有什么解决方案没呢?我也遇到此问题
我修改了下源码解决的。找到node_modules --> gulp-assets-rev -->index.js。我的资源都是通过http这种方式去请求的。把关于http判断的更改如下。但这是个偏方,每次构建的时候,不管有没改文件都会重新生成随机数。
// remote resource