我正在部署包含AngularJS、Grunt以及其他UI组件的UI应用程序。每当我更新UI并使用apache-tomcat重新部署时,浏览器总是从缓存中获取我的资源(因为新资源的路径(如css、html)相同)。用户需要做CTRL+F5(硬刷新)才能清除缓存并使用新资源。如何在重新部署应用程序时强制浏览器清除缓存?如果有办法使用angular + grunt来完成此任务,也可以。我不想每次重新部署产品时更新文件版本。因为我的文件内部还下载许多html文件。因此,我希望只清除浏览器缓存。谢谢!
你可以为你的HTML文件添加版本号
app.factory('preventTemplateCache', function () {
return {
'request': function (config) {
if (config.url.indexOf('partials') !== -1) {
config.url = config.url + '?t=' + 101;
}
return config;
}
}
})
同时给.js文件命名版本号
<script src='app.js?v=101'></script>
101 是版本号