我如何将我的 Ember CLI 插件拆分成普通 Ember 库和 Ember CLI 插件包装器?
How do i split my Ember CLI addon into a vanilla Ember library and an Ember CLI addon wrapper?
我按照 Ember CLI 主页上的说明创建了我的第一个 Ember CLI 插件。该插件运行良好,它已经在 Github 上获得了数颗星:https://github.com/lolmaus/ember-cli-stained-by-children
问题是没有 Ember CLI 就无法使用插件,例如,在 http://emberjs.jsbin.com/ 上。
我见过其他插件没有这样的限制:该库是作为 Bower 包实现的,可以使用或不使用 Ember CLI,还有一个 Ember提供了 CLI 插件包装器。
此类插件的一个示例是 Simple Auth。
它有三个存储库:
- 主要源代码:ember-simple-auth.
- 预编译的 bower 包:ember-simple-auth-component.
- Ember CLI 包装器:ember-cli-simple-auth.
但是很难从中举出例子,因为 Simple Auth 是一个巨大的库。
题目是:
- 我如何组织主要源代码,以便我可以从中构建不同的库类型(全局和 Ember CLI 友好的 AMD)?
- 如何组织 Ember CLI 包装器代码?我应该怎么做才能利用图书馆?
- 如何自动发布?
有多种方法可以解决您的问题,因此应如何组织代码取决于您。现在,没有简单的构建管道来一次性生成基于全局的版本、AMD 版本和插件。如果你真的想实现以上所有目标,我会说首先编写一个(简单的)基于全局的版本,然后制作一个将其包装在 AMD 包装器中的构建脚本。然后将该 AMD 版本包装在一个插件中。
我按照 Ember CLI 主页上的说明创建了我的第一个 Ember CLI 插件。该插件运行良好,它已经在 Github 上获得了数颗星:https://github.com/lolmaus/ember-cli-stained-by-children
问题是没有 Ember CLI 就无法使用插件,例如,在 http://emberjs.jsbin.com/ 上。
我见过其他插件没有这样的限制:该库是作为 Bower 包实现的,可以使用或不使用 Ember CLI,还有一个 Ember提供了 CLI 插件包装器。
此类插件的一个示例是 Simple Auth。
它有三个存储库:
- 主要源代码:ember-simple-auth.
- 预编译的 bower 包:ember-simple-auth-component.
- Ember CLI 包装器:ember-cli-simple-auth.
但是很难从中举出例子,因为 Simple Auth 是一个巨大的库。
题目是:
- 我如何组织主要源代码,以便我可以从中构建不同的库类型(全局和 Ember CLI 友好的 AMD)?
- 如何组织 Ember CLI 包装器代码?我应该怎么做才能利用图书馆?
- 如何自动发布?
有多种方法可以解决您的问题,因此应如何组织代码取决于您。现在,没有简单的构建管道来一次性生成基于全局的版本、AMD 版本和插件。如果你真的想实现以上所有目标,我会说首先编写一个(简单的)基于全局的版本,然后制作一个将其包装在 AMD 包装器中的构建脚本。然后将该 AMD 版本包装在一个插件中。