如何从AngularJS访问Heroku上的环境变量 [英] How to access environment variables on Heroku from AngularJS

查看:97
本文介绍了如何从AngularJS访问Heroku上的环境变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Heroku上有3个AngularJS应用程序。
$ b

(例如:angularjs-dev使用api-dev,angularjs-qa使用api-qa)

我创建了如下所示的常量文件:

  SITE ='dev'
API_SITE = {
dev:'dev-url',
qa:'qa-url',
制作:'production-url'
}

然后,当我需要API网址时,我将其称为 API_SITE [SITE]



这个问题是当我要部署到qa时,我必须将 SITE 更改为 qa



我想知道:我们可以让AngularJS读取在Heroku上定义的环境变量,所以我们不需要改变它再次手动



注意:
我知道AngularJS在客户端运行。所以,我不知道该怎么做。



任何人?

解决方案

如果有人正在寻找解决方案(基于我的环境:Heroku上的AngularJS和NodeJS)



我将这段代码添加到 web.js (NodeJS初学者文件)中

  var options = {}; 
var jade = require('jade');

app.get('/ site.js',function(req,res){
res.send(var SITE ='+ process.env.SITE +') ;
});

然后,在文件 index.html 中,我只添加了< script src =/ site.js>< / script> 用于检索 SITE 变量。



效果很好。

I have 3 of AngularJS apps on Heroku. Each of them consumes different API.

(For example: angularjs-dev consume api-dev, angularjs-qa consumes api-qa)

I created constant file like this below

SITE     = 'dev'
API_SITE = {
      dev       : 'dev-url',
      qa        : 'qa-url',
      production: 'production-url'
}

And then when I want the API url, I call it this way API_SITE[SITE]

This problem is when I want to deploy to qa, I have to change SITE to qa.

I wonder that: can we make AngularJS read environment variables defined on Heroku so we won't have to change it manually again

Note: I know that AngularJS is running on client-side. So, I have no idea how to do it.

Anyone?

解决方案

In case that someone is looking for the solution (based on my environment: AngularJS and NodeJS on Heroku)

I added this code to web.js (NodeJS starter file)

var options = {};
var jade = require('jade');

app.get('/site.js', function(req, res){
    res.send("var SITE='"+process.env.SITE+"'");
});

Then, in file index.html I just added <script src="/site.js"></script> for retriving SITE variable.

It works well.

这篇关于如何从AngularJS访问Heroku上的环境变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆