在我们的web应用程序中,我们有很多JS和CSS文件。
我们需要在每次部署代码时为这些引用附加一个版本号。这是为了确保用户总是获得文件的最新部署版本,并且该文件不会从浏览器的缓存中提供。我们计划使用我们的构建脚本来完成。我们需要向文件引用(如<script type="text/javascript src=./abc/test.js?v=1231
/>)追加一个参数。
我们需要对所有的CSS和JS文件这样做。
有人能建议最好的方法吗?
我们计划使用正则表达式来完成此操作。我们将在文件名后面附加一个随机数。
你能帮我怎么才能找到所有的CSS和JS参考在我的HTML页面?
你需要在你的HTML文件中找到所有的CSS和javascript引用吗?更简单的方法是在这些文件中使用可替换的令牌,然后在ant中运行一个任务来进行替换。Ant只需要找到令牌。
您可以使用ReplaceRegExp任务(进行适当的替换),或者您可以使用FilterSet执行Copy或Move(在目标文件的副本中进行替换)。
下面是一个使用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>