如何使用环境变量配置angularjs应用

时间:2019-01-28 19:57:14

标签: javascript html angularjs

因为我在生产和开发等环境中有两个不同的URL,例如https://example.comhttps://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"(必填)。

0 个答案:

没有答案