我有一个Web应用程序,带有一个简单的index.html
文件:
<!DOCTYPE html>
<head>
</head>
<body>
<script src="assets/js/scripts.min.js"></script>
</body>
</html>
我需要更改静态文件的src
,因为在生产环境中,它们将位于与开发中不同的位置。但有一个要求:我无法通过构建来改变它。
所以我正在考虑使用像application.properties
这样的本地文件和dev模式的源代码,并使用不同的源在生产中部署相同的文件。
有没有办法在JavaScript中实现?
答案 0 :(得分:1)
您可以检查头部环境,然后根据当前环境(dev或prod)将脚本插入头部或主体。
<head>
<script>
var script = document.createElement('script');
var devmode = /*condition to check if current enviroment is Development or Production*/ true;
if (devmode === true) {
// Development Scripr
script.src = "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.8.0/lodash.js";
} else {
// Production Script
script.src = "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.8.0/lodash..min.js";
}
document.head.appendChild(script);
</script>
</head>
注意:以上解决方案适用于大多数现代浏览器。但是,它建议使用良好的AMD解决方案,如Require.JS,yepnopejs(现在与modernizr合并)或$script.js等,因为它们会处理交叉的一些边缘情况浏览器怪癖。