使用 ANT 替换 JavaScript 中的值
Replacing values inside JavaScript using ANT
我有一个 HTML 页面,其中包含 <script>
标签,如下所示
<script type="text/javascript">
window.location ="THIRD PARTY URL"
</script>
以上代码运行正常。
现在我的要求是:在部署期间将此 Third Part URL 的值从一个环境更改为另一个环境。
这个第三方 URL 在开发环境、UAT 环境和生产环境中会有所不同。
我不想在每次将 EAR 部署到我的 Weblogic 服务器之前手动更改此值。相反,我正在寻找一些可以执行此任务的脚本。
我知道使用 ANT 脚本可以做到。
但是我无法弄清楚我的案例所需的 build.xml 的确切配置。
我已经在 Whosebug 中查看了以下链接:
ANT replacing strings in specified files using file with properties
有人对此有合适的解决方案吗?
我会向您建议一些不同的解决方案。
有一个文件:
// 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。我认为它比修改文件更干净。如果需要,使用这种方法实际上可以为环境提供更多配置选项。
最简单的解决方案是替换正则表达式。
<replaceregexp file="test.html" match="window.location(.*)" replace="window.location="${MYURLVALUE}"" byline="true"/>
此处文件指定您的 html 文件。我们将键和值作为正则表达式进行匹配。请注意替换参数中的 "
。这是为了确保您的 URL 结果在引号内。
我有一个 HTML 页面,其中包含 <script>
标签,如下所示
<script type="text/javascript">
window.location ="THIRD PARTY URL"
</script>
以上代码运行正常。
现在我的要求是:在部署期间将此 Third Part URL 的值从一个环境更改为另一个环境。
这个第三方 URL 在开发环境、UAT 环境和生产环境中会有所不同。
我不想在每次将 EAR 部署到我的 Weblogic 服务器之前手动更改此值。相反,我正在寻找一些可以执行此任务的脚本。
我知道使用 ANT 脚本可以做到。
但是我无法弄清楚我的案例所需的 build.xml 的确切配置。
我已经在 Whosebug 中查看了以下链接:
ANT replacing strings in specified files using file with properties
有人对此有合适的解决方案吗?
我会向您建议一些不同的解决方案。 有一个文件:
// 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。我认为它比修改文件更干净。如果需要,使用这种方法实际上可以为环境提供更多配置选项。
最简单的解决方案是替换正则表达式。
<replaceregexp file="test.html" match="window.location(.*)" replace="window.location="${MYURLVALUE}"" byline="true"/>
此处文件指定您的 html 文件。我们将键和值作为正则表达式进行匹配。请注意替换参数中的 "
。这是为了确保您的 URL 结果在引号内。