使用ANT替换JavaScript中的值



我有一个由<script>标签组成的HTML页面,如下所示

<script type="text/javascript">
   window.location ="THIRD PARTY URL"
</script>

以上代码运行正常。
现在我的要求是:在部署期间将这个第三部分URL的值从一个环境更改为另一个环境。
此第三方URL在开发环境、UAT环境和生产环境中会有所不同。

我不想在每次将EAR部署到Weblogic服务器之前手动更改此值。相反,我正在寻找一些脚本,可以执行此任务。

我知道使用ANT脚本可以做到。
但是我不能确定我的情况所需的build.xml的确切配置。

我已经浏览了stackoverflow中的以下链接:

ANT使用带有属性的file替换指定文件中的字符串

有没有合适的解决方案?

最简单的解决方法是替换正则表达式。

<replaceregexp file="test.html" match="window.location(.*)" replace="window.location=&quot;${MYURLVALUE}&quot;" byline="true"/>

这里的file指定你的html文件。我们将键和值作为正则表达式进行匹配。注意replace参数中的&quot;。这是为了确保你的URL结果在引号内。

我想给你一个稍微不同的解决方案。有一个文件:

   // setup.js
   var url = "THIRD_PARTY_URL";

你的主文件将包含:

<script type="text/javascript" src="setup.js"></script>
<script type="text/javascript">
   window.location = url;
</script>

在部署期间,您必须为给定的环境复制正确的setup.js。我认为这比修改文件要简洁一些。使用这种方法,如果需要的话,您实际上可以为环境提供更多的配置选项。

相关内容

  • 没有找到相关文章

最新更新