应用扩展是一种无缝注入复杂(或简单)库、各种依赖项、启动文件、模板和自定义逻辑的方法。它们可以扩展 webpack、quasar.config
文件,将外部 UI 组件紧密耦合到核心,甚至使用 Quasar CLI 注册新命令。它们可以使用 quasar dev
运行,并完全访问当前的实时 ctx
(上下文)。
开发模式实际上为使 Quasar 成为最具扩展性和功能强大的框架之一打开了闸门——现在仅受您的想象力和创新力的限制。此页面将向您介绍应用扩展的使用。
警告
应用扩展专门 **用于 Quasar CLI**。这意味着您将无法使用 Quasar Vite 插件或 Vue CLI 或在 UMD 环境中安装或运行它们。
应用扩展可以做什么?
- 使用新命令增强 CLI 行为
- 制作 Quasar UI 插件
- 安装配套应用程序
- 创建和共享自定义组件
- 为框架或其他应用程序创建和共享附加功能
- 构建、启动和控制 API 服务器
- 挂钩、组合和扩展 Quasar 核心组件
- 根据位于 Quasar 环境之外的动态变化值修改代码
- 创建和管理平台特定接口的抽象
- ……以及更多
应用扩展 **取代了创建自定义启动套件的需要**。您在官方启动套件之上添加的任何内容都可以采用应用扩展的形式。这也消除了维护非官方启动套件与官方启动套件保持更新的开销,因此我们可以确保每个开发人员始终能够开箱即用地获得最新最好的 Quasar 规范。
应用扩展 ext-id
所有应用扩展都必须以 quasar-app-extension-
为前缀。此前缀之后的所有内容都被视为其简短别名。在整个文档中,我们将其称为 ext-id
。
示例
quasar-app-extension-awesomeness
的 ext-id 为awesomeness
@some-npm-org/quasar-app-extension-awesomeness
的 ext-id 为@some-npm-org/awesomeness
这种命名方案的好处之一是,在搜索其 npm 包时,它使 Quasar 应用扩展的发现变得容易:应用扩展 - 发现。
应用扩展的结构
应用扩展可以安装、执行,也可以卸载。以下指南以抽象的方式讨论了这一点。有关各个扩展的详细信息以及如何使用它们,请参阅其各自的存储库。
安装应用扩展
$ quasar ext add <ext-id>
此命令将查找并安装扩展的模块。安装完成后,可能会出现一个或多个提示,要求您做出选择或添加扩展所需的的信息。安装完成后,您将返回到命令行。
列出已安装的应用扩展
有几种方法可以“发现”已安装了哪些应用扩展
$ quasar ext
$ quasar info
$ cat quasar.extensions.json
“运行”应用扩展
运行应用扩展没有唯一的方法,因为其中一些可能甚至没有任何要运行的代码(即只是将模板文件复制到项目中的特定文件夹),而另一些可能仅仅是安装助手,另一些可能会选择向 Quasar CLI 添加新命令。
但是,每个应用扩展都将在 quasar dev
和 quasar build
期间初始化。
更新应用扩展
您可能需要更新您的扩展,这可以通过与安装时使用的相同命令来完成
$ quasar ext add <ext-id>
警告
重新安装扩展可能会覆盖您已更改的文件。系统会提示您选择是否覆盖检测到的文件。
删除应用扩展
您可以通过运行此命令从 Quasar CLI 中删除应用扩展的挂钩。但是,根据作者和扩展本身的不同,您可能需要手动清理文件。
$ quasar ext remove <ext-id>
官方应用扩展列表
查看 发现应用扩展 页面。