将 npm 模块包装为 Ember 插件

Wrapping npm modules as Ember Addons

我正在开发一个 Ember 应用程序,想为它创建一个 ember 插件。插件的用例是为消费应用程序创建一个 ontology 树。我想制作成插件的模块的存储库是 inspire tree,我需要包装这个模块。

Here is the Inspire Tree Repository

我知道 Ember 插件的一般结构以及如何制作插件的想法,但是如果有人可以就最佳实践以及如何将 npm 模块包装为一般插件提供建议,那将是非常好的有帮助。

不要包装 npm 模块,而是在您的应用中尝试 https://github.com/ef4/ember-auto-import 并在通过 npm 安装该模块后通过 import InspireTree from 'inspire-tree'; 使用。

我认为创建一个包装外部库的好插件的步骤遵循以下步骤(我将使用 ember-moment 作为一个很好的用例):*

  1. 您需要的不仅仅是基础库中的 methods/objects 吗?如果没有,只需导入库。

  2. 库是否提供相对无状态的Ui组件?如果是这样,请开始制作 ember 个组件!一个很好的例子是 ember moment {{moment-format date}}。无论你在做什么,你总是会得到相同的结果。其他示例:数字格式、link 共享、font-awesome。

  3. 这个库是否依赖于一堆特定于应用程序的业务逻辑?如果是这样,如果你把它做成一个插件,它可能不值得维护。

请对我所说的持保留态度,因为我维护了 0 个插件。

*注意:我不知道你引用的这个库是什么,我也没有查过,但这些是最佳实践。