BackboneJS - 缓存文件,阻止用户获取更改,除非他们强制清除浏览器缓存



我们有一个使用 BackboneJS 构建的 Web 门户,目前正在我们自己的 Amazon 实例上部署相同的门户。我们使用Java Apache Tomcat作为它的服务器端部分。

问题是,每当我们在任何视图和/或控制器或任何其他支持文件中进行任何代码更改时。新实施的更改虽然部署到服务器上,但不会反映在用户的浏览器中,除非他们通过"开发人员工具"中的网络选项卡强制清除浏览器缓存。

有没有办法在用户每次登录时加载 BackboneJS 文件的新副本,以便任何和所有新开发的代码更改都可以在第一次提供给他?因为要求他们在每次部署后清除缓存是一种不去"上级":rollseyes:

拼命寻找有效且可行的解决方案。

假设页面中的某个地方有类似的东西:

<body>
...
<script type="text/javascript" src="/js/bundle.js"></script>
</body>

我建议在代码发生更改时向 javascript 捆绑包或 javascript 文件添加一个新版本或日期戳参数。添加唯一的版本或日期戳将强制浏览器重新获取javascript,而不是从其缓存中获取。

<script type="text/javascript" src="/js/bundle.js?v=2"></script>

<script type="text/javascript" src="/js/bundle.js?v=20160607"></script>

相关内容

最新更新