JavaScript: 更改环境中的 src 文件
JavaScript: Change src files on environment
我有一个网络应用程序,有一个简单的 index.html
文件:
<!DOCTYPE html>
<head>
</head>
<body>
<script src="assets/js/scripts.min.js"></script>
</body>
</html>
我需要更改我的静态文件的 src
,因为在生产中它们将位于与开发中不同的地方。但有一个要求:我不能通过构建来改变它。
所以我正在考虑拥有一个像 application.properties
这样的本地文件,其中包含用于开发模式的源代码,并在生产环境中使用不同的源代码部署相同的文件。
在JavaScript有没有办法做到这一点?
您可以在 head 中检查它是哪个环境,然后根据当前环境(dev 或 prod)将脚本插入到 head 或 body 中。
<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 (which is now merged with modernizr) or $script.js 等。这是因为它们处理了跨浏览器怪癖的一些边缘情况。
我有一个网络应用程序,有一个简单的 index.html
文件:
<!DOCTYPE html>
<head>
</head>
<body>
<script src="assets/js/scripts.min.js"></script>
</body>
</html>
我需要更改我的静态文件的 src
,因为在生产中它们将位于与开发中不同的地方。但有一个要求:我不能通过构建来改变它。
所以我正在考虑拥有一个像 application.properties
这样的本地文件,其中包含用于开发模式的源代码,并在生产环境中使用不同的源代码部署相同的文件。
在JavaScript有没有办法做到这一点?
您可以在 head 中检查它是哪个环境,然后根据当前环境(dev 或 prod)将脚本插入到 head 或 body 中。
<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 (which is now merged with modernizr) or $script.js 等。这是因为它们处理了跨浏览器怪癖的一些边缘情况。