我向myapp/config/environment
添加了一些配置:
if (environment === 'development') {
ENV.APP.AuthURL = 'http://localhost:5000/';
}
现在,要访问此配置,我应该使用某种方法还是直接访问window.Myapp
?
答案 0 :(得分:29)
您可以使用以下行导入environment.js
来访问它:
import config from '../config/environment';
例如,假设您要在控制器中访问配置。这就是它的样子:
import Ember from 'ember';
import config from '../config/environment';
export default Ember.Controller.extend({
foo: config.APP.AuthURL
});
如果需要,您现在可以使用以下方法在控制器模板中访问它:
{{foo}}
答案 1 :(得分:3)
在撰写本文时,尝试从您的应用程序访问它时,有几种现代方法:
import ENV from 'your-application-name/config/environment';
your-application-name
应该是modulePrefix
的{{1}}键和config/environment.js
的{{1}}键中的内容name
第一个假设您正在使用Ember CLI,并且在Configuring Your App下的ember文档中进行了详细说明:
Ember CLI随附支持管理应用程序的 环境。 Ember CLI将在以下位置设置默认环境配置文件 配置/环境。在这里,您可以为每个对象定义一个ENV对象 环境,目前仅限于三种:开发,测试, 和生产。
ENV对象包含三个重要键:
- EmberENV可用于定义Ember功能标志(请参阅功能标志指南)。
- APP可用于将标志/选项传递到您的应用程序实例。
- environment包含当前环境的名称(开发,生产或测试)。您可以访问这些环境 通过从中导入应用程序代码中的变量 您的应用程序名称/配置/环境。
答案 2 :(得分:1)
@rog的答案是正确的,并且适用于所有尝试从应用程序访问配置的情况,在某些情况下(例如从插件访问配置)不适。
我建议您检出ember-get-config
插件:https://www.emberobserver.com/addons/ember-get-config
安装ember-get-config
后,您可以使用以下代码导入配置:
import config from 'ember-get-config';
const { AuthURL } = config;
// now you have access to AuthURL
这将在您的应用程序中起作用,并且如果您构建将被您的应用程序使用的插件也将起作用