我正在创建一个插件项目。
我在app/utils
中有一个文件,其中包含以下导入
import config from '../config/environment';
我想将其移至addon/utils
,但上述导入不再有效,我在执行ember serve
时出错。我需要访问消费应用程序环境。
如何从插件文件夹中执行此操作?
答案 0 :(得分:2)
你根本做不到。 addon命名空间旨在与app命名空间隔离,这就是为什么它不允许你导入环境配置。如果要访问它,则需要在app命名空间中。
解决此问题的一种方法是将其保存在addon命名空间中,并要求用户将其导入到自己的app / utils中并自行传递配置。它看起来像这样:
// app / utils / their-util.js
import config from '../config/environment';
import yourUtil from 'the-addon/utils/your-util';
export default function() {
return yourUtil(config);
}
你甚至可以在你的插件的app命名空间中执行此操作以默认包含它,然后如果他们想要做一些自定义的事情,他们就可以覆盖它。
显然这不是一个理想的解决方案,但它是现在可用的。