因为我在生产和开发等环境中有两个不同的URL,例如https://example.com和https://example.com/dev。
我从链接https://www.jvandemo.com/how-to-configure-your-angularjs-application-using-environment-variables/阅读了一篇文章作为参考。在这个env.js
文件中,我的代码如下:
var locUrl = window.location.href
var apiUrlstr;
if(locUrl.includes('/dev')){
console.log("in locurl if");
apiUrlstr = window.location.origin +"/dev"
}
else{
console.log("in locurl else");
console.log("window.location.origin"+window.location.origin);
apiUrlstr = window.location.origin;
}
window.__env = window.__env || {};
console.log("apiUrlstr "+apiUrlstr);
// API url
window.__env.apiUrl = apiUrlstr;
// Base url
window.__env.baseUrl = '/';
// Whether or not to enable debug mode
// Setting this to false will disable console output
window.__env.enableDebug = true;
}(this));
然后其余的事情我照原样进行,如上面的链接所示。
它可以与url: https://example.com
一起正常工作,但不能与https://example.com/dev
一起工作。
我将env variable
应用于其他使用grunt
的方法。我发现两者都出了问题。
我给了我的js文件的路径,例如:
<script src="js/config.js"></script>
<script src="js/app.js"></script>
等。
当我使用网址"https://example.com/dev"
进行api调用时,使用js
文件作为"https://example.com/js/config.js"
进行了调用,而不是
"https://example.com/dev/js/config.js"
(必填)。