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的全新安装。
答案 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";