在我们的Web应用程序中,我们有很多JS和CSS文件
每次部署代码时,我们都需要为这些引用添加版本号。这是为了确保用户始终获取文件的最新部署版本,并且不会从浏览器的缓存中提供该文件。我们计划使用我们的构建脚本执行此操作
我们需要在文件引用中添加一个参数,例如<script type="text/javascript src=./abc/test.js?v=1231
/&gt;。
我们需要为所有CSS和JS文件执行此操作 有人可以建议最好的appraoch这样做吗?
我们计划使用正则表达式执行此操作。我们将随机数附加到文件名。
请帮助我如何在HTML页面中找到所有CSS和JS引用?
答案 0 :(得分:0)
您是否需要在HTML文件中找到所有CSS和javascript引用?在这些文件中使用可替换的令牌然后在ant中运行任务来进行替换会更简单。 Ant只需要找到令牌。
您可以使用ReplaceRegExp任务执行此操作(以进行替换),或者您可以使用FilterSet执行复制或移动(以替换目标文件的副本) )。
以下是使用ReplaceRegExp的示例:
<project default="test">
<property name="build.version" value="1231"/>
<target name="test">
<replaceregexp match="\@BUILD_VERSION\@" replace="${build.version}">
<fileset dir="test">
<include name="*.html"/>
</fileset>
</replaceregexp>
</target>
</project>
以下是运行构建之前的示例文件:
<html>
<head>
<script type="text/javascript" src="./abc/test.js?v=@BUILD_VERSION@"/>
</head>
</html>
在此之后:
<html>
<head>
<script type="text/javascript" src="./abc/test.js?v=1231"/>
</head>
</html>