使用版本更新静态文件引用



在我们的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>

相关内容

  • 没有找到相关文章

最新更新