js+ant版本控制,解决js、css缓存问题

5 篇文章 0 订阅

       在web开发中js、css文件是常用的脚本文件,但js、css有修改后,浏览器由于缓存机制无法直接获取最新的js,只能通过清理缓存的方式进行,这种冷式暴力解决无法在生成环境中进行,那如何解决?可以通过每次项目打包时对js、css增加版本控制,这里以ant作为打包脚本,将js文件中增加“?v={version}”,在ant中将{version}替换成相应版本,通过版本的方式改变url进而解决js历史版本缓存问题,同时又能够保持浏览器的缓存机制。

将页面的文件增加?v={version},以改变url:

<script  src="resources/js/require.js?v={version}"></script>
<script src="assets/scripts/index.js?v={version}" type="text/javascript"></script>

在ant脚本打包脚本中,对目录以及子目录下的js、css版本号进行重置

	<property name="appdirHtml" value="src/${appname}/WebRoot/wp"/>

	<target name="repalceVersion" >
		<echo>检索文件,进行替换js版本</echo>
		<tstamp>
      		<format property="htmlFiltTime" pattern="yyyyMMddHHmmss" offset="0"  unit="minute"/>
  		</tstamp>	
		<replace dir="${appdirHtml}"  includes="**/*.html" encoding="UTF-8">
			<replacefilter token="{version}" value="${htmlFiltTime}"/>
		</replace>
		<replace dir="${appdirHtml}"  includes="**/*.jsp" encoding="UTF-8">
			<replacefilter token="{version}" value="${htmlFiltTime}"/>
		</replace>
	</target>

这是整个ant脚本其中的一部分,其余的依次是:清理之前的包和缓存、svn下载源码、替换生产环境数据、java编译、导入readme等文件、生成war包。js版本替换只是“替换生产环境数据”的一部分。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牟云飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值