我认为您只想做一些技巧,以使页面无法使用浏览器可能具有的缓存文件,而到目前为止,跨浏览器的唯一方法就是放置一些东西像“app.v2_2.js”或“app.js?ver=22”这样的href url。所以我使用了这个 grunt npm 包:
https://www.npmjs.org/package/grunt-cache-breaker
默认情况下,它只向您的 javascript 添加一个参数,并且在几乎所有情况下,您都需要不使用缓存,但即使您在其他 grunt 进程中更改文件名,您也可以进行配置。这只会将 HTML 标题更改为您想要的。
安装 grunt-cache-breaker 后,将其添加到您的 GruntFile:
// Append a timestamp to 'app.js', 'controllers.min.js' which are both located in 'index.html'
// resulting in the index the call of : href="~/app.js?rel=1415124174159"...
cachebreaker: {
dev: {
options: {
match: ['app.js', 'styles.css']
},
files: {
src: ['dist/index.html']
}
}
},
然后加载模块的位置:
grunt.loadNpmTasks('grunt-cache-breaker');
添加你想要的任务:
grunt.registerTask('deploy', [
'clean:app',
'copy:views',
'copy:imgs',
'copy:css',
'uglify:app',
'cssmin:app',
'cachebreaker:dev'
]);
最后在控制台/命令提示符下运行 grunt 操作
> grunt deploy