问题描述
最近在一个项目中遇到一个问题,修改了相应页面的js后部署到生产环境中后,还是有用户反映出现错误。也就是说我们更新后的js由于用户端浏览器的缓存可能并未加载最新的js文件。
问题分析与解决方案
度娘之后发现处理这个缓存的问题的方式大概有以下几种方式:
1.在jsp或者html页面的meta中添加相应的标签,如下
2.在引入的js中添加随机数,具体如下;
3.添加版本号
在jsp中添加版本号的概念,具体代码如下
<%@ include file="/common.jsp" %>
<script type="text/javascript" src="js/ctrl/AccountInfoCtrl.js${version}"></script>
在common.jsp中定义一个版本号
<c:set var="version" value="?version=20160629-1" />
如果是在springBoot加themleaf的环境下则可以参考下面的
更换为从messages.properties中读取
<script type="text/javascript" th:src="@{/js/test/index.js(v=#{js.version})}"></script>
在resource资源目录下添加message.properties文件,并在文件中添加
js.version=20190625
注意message.properties文件为配置文件,不可随意改变名字。如果需要修改文件名,可以在application.yml中添加配置
spring:
messages:
basename: demo
那么此时的配置文件名即可修改为demo.properties。