我正在处理一个现有应用程序,它本质上是一个非常大的.js文件,位于一个薄的HTML页面中。该脚本通过相对URI引用
我想在许多测试服务器上运行该应用程序,而不必A)将成千上万的资产文件复制到每个测试服务器,或B)重写JS中的每个资产引用以使用绝对URL。
我想到的解决方案是仅将.js和.html文件复制到测试服务器,并使用HTML
我现在唯一的问题是,
assets/
目录中的大量文件。我想在许多测试服务器上运行该应用程序,而不必A)将成千上万的资产文件复制到每个测试服务器,或B)重写JS中的每个资产引用以使用绝对URL。
我想到的解决方案是仅将.js和.html文件复制到测试服务器,并使用HTML
<BASE>
标记将资产重定向到生产服务器。<!DOCTYPE HTML>
<HTML><HEAD><TITLE>MyApp</TITLE>
<BASE href="https://www.example.com/production-app.html" />
</HEAD>
<BODY>
<SCRIPT src="./app.js"></SCRIPT>
</BODY></HTML>
我现在唯一的问题是,
<BASE>
标签也将<SCRIPT>
标签重定向到生产环境的app.js
副本,而不是我的测试副本。 有没有一种方法可以从<BASE>
中排除这个引用,并强制它查找与html文件相同的目录?
我通过在脚本标记中使用测试服务器的绝对URL找到了一个解决方法,但这需要在每个测试服务器上使用单独的HTML副本,似乎有些笨拙。
assets/
目录挂载到测试机器上;如果无法挂载到想要的位置,则创建符号链接。但是,我会将所有这些资产作为我的项目的一部分,并将其部署到测试和生产服务器上。从头开始部署是良好源代码控制(和构建自动化)的一个_特性_。 - Stephen P