创建您的第一个模块

学习如何使用官方启动器模板创建您的第一个 Nuxt 模块。

创建模块

我们建议您使用我们的启动器模板开始使用 Nuxt 模块:

npm create nuxt -- -t module my-module

这将创建一个 my-module 项目,其中包含开发和发布模块所需的所有样板代码。

后续步骤:

  1. 在您选择的 IDE 中打开 my-module
  2. 使用您喜欢的包管理器安装依赖项
  3. 使用 npm run dev:prepare 为开发准备本地文件
  4. 遵循本文档以了解更多关于 Nuxt 模块的信息

使用启动器模板

了解如何使用模块启动器执行基本任务。

观看 Vue School 关于 Nuxt 模块启动器模板的视频。

开发您的模块

虽然您的模块源代码位于 src 目录中,但要开发模块,通常需要一个 Nuxt 应用程序来测试它。这就是 playground 目录的用途。它是一个 Nuxt 应用程序,您可以对其进行修改,该应用程序已配置为与您的模块一起运行。

您可以像与任何 Nuxt 应用程序一样与 playground 交互。

  • 使用 npm run dev 启动其开发服务器,当您在 src 目录中对模块进行更改时,它应该自动重新加载
  • 使用 npm run dev:build 构建它
所有其他 nuxt 命令都可以针对 playground 目录使用(例如 nuxt <COMMAND> playground)。请随时在您的 package.json 中声明额外的 dev:* 脚本,以便于引用它们。

运行测试

模块启动器附带了基本的测试套件:

  • ESLint 驱动的 linter,使用 npm run lint 运行
  • Vitest 驱动的测试运行器,使用 npm run testnpm run test:watch 运行
请随时增强此默认测试策略以更好地满足您的需求。

构建您的模块

Nuxt 模块附带自己的构建器,由 @nuxt/module-builder 提供。此构建器不需要您进行任何配置,支持 TypeScript,并确保您的资源被正确打包以分发到其他 Nuxt 应用程序。

您可以通过运行 npm run prepack 来构建您的模块。

虽然在某些情况下构建模块可能很有用,但大多数情况下您不需要自己构建它:playground 在开发时会处理它,发布时发布脚本也会为您处理。

发布到 npm

在将您的模块发布到 npm 之前,确保您拥有 npmjs.com 账户,并且已通过 npm login 在本地进行身份验证。

虽然您可以通过递增模块版本并使用 npm publish 命令来发布您的模块,但模块启动器附带了一个发布脚本,可以帮助您确保将可正常工作的模块版本发布到 npm,以及更多功能。

要使用发布脚本,首先,提交所有您的更改(我们建议您遵循 Conventional Commits 以便也能利用自动版本递增和更新日志),然后使用 npm run release 运行发布脚本。

运行发布脚本时,将发生以下情况:

  • 首先,它将通过以下方式运行您的测试套件:
    • 运行 linter(npm run lint
    • 运行单元、集成和 e2e 测试(npm run test
    • 构建模块(npm run prepack
  • 然后,如果您的测试套件运行顺利,它将继续发布您的模块:
    • 根据您的 Conventional Commits 递增您的模块版本并生成更新日志
    • 将模块发布到 npm(为此,模块将再次构建,以确保将更新后的版本号包含在发布的构建产物中)
    • 将代表新发布版本的 git 标签推送到您的 git 远程仓库
与其他脚本一样,请随时在您的 package.json 中微调默认的 release 脚本以更好地满足您的需求。