如何访问angular度js中的局部ENVvariables

有没有可能从angularjs访问ENVvariables?

我有一个angular1.2.8应用程序正在通过Brunch.io编译

它作为heroku上的基本节点应用程序托pipe。 (我在本地编译;然后推)

在ENVvariables的编译阶段,我已经读了一些关于令牌replace的东西。

不过,我宁愿能够将代码推送到几个不同的服务器,并使用ENVvariables来parsing正确的本地设置。

谢谢!

浏览器上无法获得ENVvariables。 您可以将请求发送到服务器上的rest服务,并在后端获取env,然后回复给客户端

快速示例:(Express.js)

app.get("/rest/getenv", function(req, res) { var env = process.env.ENV_VARIABLE; res.json({result: env}); }); 

编辑:

您需要使用类似string的标记来保护这个剩余的url。 否则,任何人都可以达到该url,并获得您的环境variables值。 这可能是安全问题

有多种方法可以做到这一点,如上所述,您可以简单地进行API调用,但这会在您的应用程序中造成不必要的延迟。 我build议将你的envvariables注入你的服务器上的angular度常量服务。 这可能听起来有些混乱,但比听起来简单。

我写了一篇博客文章,比较了将env varialbes注入angular度的不同方式,并解释了为什么你应该采取这种方法: https ://medium.com/@kudresov/a-better-way-to-inject-environmental-variables-in -angular-d3b2d01a3c5e

另外,我创build了示例Node Angular项目来显示它如何工作: https : //github.com/kudresov/angular-config-vars