我有一个由<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="${MYURLVALUE}"" byline="true"/>
这里的file指定你的html文件。我们将键和值作为正则表达式进行匹配。注意replace参数中的"
。这是为了确保你的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。我认为这比修改文件要简洁一些。使用这种方法,如果需要的话,您实际上可以为环境提供更多的配置选项。