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

来源:互联网 发布:京东大数据是什么 编辑:程序博客网 时间:2024/05/13 05:25

       在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="finddir" ><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></target>