EmberJs:无法从服务中解析config / environment.js

时间:2017-07-10 20:17:08

标签: javascript ember.js resolver

Ember版本 - ~2.8.0

这可能看起来非常简单,但经过几个小时的查看,它已经让人紧张。

我想简单地将config / environment.js文件导入服务(在app / services / myservice.js)并使用内容。像这样 -

  

从“../ config / environment”导入配置;

但是,如果我"Cannot read property 'APP' of undefined",我得到的只是config.APP在控制台中。即使environment.js在物理上存在,也在demo-app/config/environment.js下。

我很困惑,如果我错过了某些约定,或某些需要存在的设置,以便正确解决。

请帮忙。

另外(虽然这很明显),如果我将导入更改为import config from "../../config/environment";,则会显示Could not find module 'config/environment' imported from 'demo-app/services/myservice'

我确实理解在分辨率中跳过app文件夹。即demo-app / app / something的物理地址......变成了demo-app / something ......但有人请解释为什么它可能无法解决。它是在App的全新安装。

3 个答案:

答案 0 :(得分:1)

import ENV from 'demo-app/config/environment';适合我(demo-app是一个包名,通常它与您的项目根目录名相同)。这种方法的一大优点是你不需要考虑需要放多少../,只需在你的任何文件中删除相同的行。

答案 1 :(得分:1)

我更喜欢使用resolveRegistration的{​​{1}},例如:

ApplicationInstance

将您的服务转为let conf = Ember.getOwner(this).resolveRegistration('config:environment');

答案 2 :(得分:0)

这将是您案例中正确的相对路径,

import config from "./../config/environment";

相关问题