在开发 Ember 应用时,你很可能会遇到 Ember 本身未涵盖的常见场景。例如,你可能想使用 CSS 预处理器来编写样式表,或者想使用流行的 JS 库,亦或是想引入组织内其他部门编写的组件。
Ember 提供了一种名为 Ember 插件 (Ember Addons) 的通用格式,用于分发可复用的库以解决这些问题。此外,你可能还想利用 CSS 框架或 JavaScript 日期选择器等不针对 Ember 应用的各种前端依赖。
插件
插件是与 Ember 集成的 JavaScript 包。例如,ember-concurrency 提供了一个并发原语,你可以在 Ember 应用中使用它,同时还提供了一个 Babel 插件,使在 Ember 应用中使用它变得更加容易。你可以像安装任何其他 npm 包一样安装它。
npm install --save-dev ember-concurrency
安装完成后,请遵循插件 README 中的任何附加说明。一些插件(如 ember-concurrency)会提供额外步骤的说明(例如安装 Babel 插件),因此仔细阅读安装文档总是值得的。
Ember 社区发布并维护了许多插件,很难判断是否有现成的插件(或多个插件!)能满足你的需求。Ember Observer 网站维护着一个最新的 Ember 插件索引,按类别排序,并根据客观指标进行评分。如果你正在寻找插件,我们建议从那里开始!
常规 npm 包
对于新生成的 Ember 应用,构建过程主要由 Vite 管理,这意味着任何 npm 包或其他资源都可以像在现代构建系统或打包器中预期的那样直接导入。
在之前的 Ember 版本中(在我们迁移到 Vite 之前),还有其他概念需要了解才能在应用中包含第三方包或资源。如果你正在使用的 Ember 应用尚未升级到 Vite,你应该查看本指南的先前版本,以获取关于旧版构建系统的更多信息。
若要了解更多关于如何配置 Vite 的信息(例如它如何处理静态资源),可以查阅他们的指南:https://vite.org.cn/guide/