如何从addon命名空间访问消费应用程序环境

时间:2014-11-27 02:50:47

标签: ember-cli

我正在创建一个插件项目。

我在app/utils中有一个文件,其中包含以下导入

import config from '../config/environment';

我想将其移至addon/utils,但上述导入不再有效,我在执行ember serve时出错。我需要访问消费应用程序环境。

如何从插件文件夹中执行此操作?

1 个答案:

答案 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命名空间中执行此操作以默认包含它,然后如果他们想要做一些自定义的事情,他们就可以覆盖它。

显然这不是一个理想的解决方案,但它是现在可用的。