brg*_*brg 25 ember.js ember-router ember-cli
如何将环境变量从bashrc传递到Ember CLI.我想象你需要条带api键或pusher api-keys的情况,你可以在bashrc中的环境变量中使用它们.如何将api-key传递给Ember CLI.
我尝试process.env在brocfile.js和中使用Node.js environment.js,但是当我尝试在Ember JS控制器中访问它时,属性为null.
在我的environment.js文件中,我添加了,
APP: { apiKey: process.env.KEY }
Run Code Online (Sandbox Code Playgroud)
在我的Ember JS控制器中,我尝试访问它:
import config from '../config/environment';
Run Code Online (Sandbox Code Playgroud)
并设置lkey如下所示的控制器属性,这不起作用:
lkey: config.App.KEY
Run Code Online (Sandbox Code Playgroud)
接下来brocfile.js,我补充说:
var limaKey = process.env.Key;
var app = new EmberApp({key: limaKey});
Run Code Online (Sandbox Code Playgroud)
这仍然无效.
brg*_*brg 40
我终于解决了这个问题.我面临两种选择.选项1是使用XHR从服务器上的端点获取api-keys.选项2是使用Nodejs process.env直接从环境变量获取api-key.我更喜欢选项2,因为它使我免于做XHR请求.
你可以使用这个取决于Nodejs Dotenv项目的ember-cli-addOn获得选项2
在我的情况下,我选择没有任何addOn.
.bashrc如果您是Ubuntu或者您自己的Linux发行版的合适地点,首先添加api-key .export API_KEY=NwPyhL5
Run Code Online (Sandbox Code Playgroud)
.bashrc文件,以便您的设置被选中:source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
ENV对象添加属性config/environment.js.默认看起来像这样module.exports = function(environment) {
var ENV = {
modulePrefix: 'rails-em-cli',
environment: environment,
baseURL: '/',
locationType: 'auto',
EmberENV: {
}
}
Run Code Online (Sandbox Code Playgroud)
现在,对于该ENV对象,我们可以像这样添加一个新属性myApiKey:
module.exports = function(environment) {
var ENV = {
modulePrefix: 'rails-em-cli',
environment: environment,
baseURL: '/',
locationType: 'auto',
myApikey: null,
EmberENV: {
}
//assign a value to the myApiKey
if (environment === 'development') {
// ENV.APP.LOG_RESOLVER = true;
ENV.myApiKey = process.env.API_KEY;
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,process.env.API_KEY正在获取我们添加的设置.bashrc并将其分配给myApiKey.您需要在服务器上安装Nodej才能使process.env正常工作.
最后,在控制器中访问该变量
import config from '../config/environment';
import Ember from 'ember';
export default Ember.Controller.extend({
yourKey: config.myApikey,
});
Run Code Online (Sandbox Code Playgroud)
而已.
您还可以在ENV.APP对象上设置变量:它们将由应用程序实例承载.
然后,您可以在初始化程序中重复使用它们等等.
这样,您就不必导入config/environment应用程序的代码,这对我来说似乎有点奇怪.
| 归档时间: |
|
| 查看次数: |
17656 次 |
| 最近记录: |