Javascript 哈希已更新,但浏览器仍使用gulp rev加载旧缓存
由于这个原因,我一直在挠头 我使用gulprev将hash设置为所有html文件的名称,它们在清单文件中都是匹配的。我使用gulp rev collector来匹配所有更新的哈希 我确信,若客户端文件的任何内容发生了更改,我会在吞咽之后得到新的哈希文件名 生成但浏览器不更新并请求新文件,它仍然使用旧的缓存文件,直到我清除缓存并硬重新加载。 以下是简化代码: 大口喝法修订版Javascript 哈希已更新,但浏览器仍使用gulp rev加载旧缓存,javascript,gulp,gulp-rev,Javascript,Gulp,Gulp Rev,由于这个原因,我一直在挠头 我使用gulprev将hash设置为所有html文件的名称,它们在清单文件中都是匹配的。我使用gulp rev collector来匹配所有更新的哈希 我确信,若客户端文件的任何内容发生了更改,我会在吞咽之后得到新的哈希文件名 生成但浏览器不更新并请求新文件,它仍然使用旧的缓存文件,直到我清除缓存并硬重新加载。 以下是简化代码: 大口喝法修订版 gulp.task('minify:html', function () { var options = { remov
gulp.task('minify:html', function () {
var options = {
removeComments: true,
collapseWhitespace: true,
collapseBooleanAttributes: false,
removeEmptyAttributes: false,
removeScriptTypeAttributes: true,
removeStyleLinkTypeAttributes: true,
minifyJS: true,
minifyCSS: true
};
return gulp
.src([paths.src.html, '!./node_modules/**/*.html', '!./templates/**/*.html', '!./index.html',
'!./dist/**/*.html']) // views
.pipe(htmlmin(options))
.pipe(rev())
.pipe(gulp.dest('./dist'))
.pipe(rev.manifest())
.pipe(gulp.dest('./dist/rev/html'))
})
修订区视图
gulp.task('revDistViews', function () {
return gulp.src(['./dist/rev/**/*.json', './dist/views/*.html'])
.pipe( revCollector({
replaceReved: true,
}) )
.pipe( gulp.dest('./dist/views') );
})
大口大口喝
gulp.task('build', function (callback) {
runSequence('clean:dist', 'clean:views', 'scss', 'concat:js', 'file:include', 'copy:lib',
'copy:locales', 'copy:img', 'minify:html', 'minify:index', 'minify:scripts',
'revImages','minify:css', 'rev', 'revDistViews','revScripts', callback)
})
我可以看到内置/dist文件夹后哈希值发生了更改。但是Chrome仍然使用旧缓存而不是新文件
客户端是否有任何解决方案可以使用
注意:响应头中没有设置缓存策略为什么不在
revViews
任务中使用gulp.dest
编写文件,为什么不在build
任务中运行它?@我编写了一个错误的代码,已编辑。谢谢你的提醒。