Nuxt 3 已于 31 July 2026 结束生命周期
此版本将不再接收错误修复或安全补丁。 升级到 Nuxt 4 或获取 HeroDevs 提供的延长支持

框架

关于对框架仓库贡献的一些具体要点。

Maschinelle Übersetzung ·3 % geprüft

阅读完通用贡献指南后,以下是对 nuxt/nuxt 仓库贡献时需要注意的一些具体事项。

Monorepo 指南

设置

要为 Nuxt 贡献代码,您需要搭建本地开发环境。

  1. 将 nuxt/nuxt 仓库 Fork 到您自己的 GitHub 账号,然后将其 clone 到本地设备。
  2. 确保使用最新的 Node.js(20.x)。
  3. 启用 Corepack,以便使用 pnpm 和 yarn

    Terminal
    corepack enable
  4. 使用 pnpm 安装依赖:

    Terminal
    pnpm install --frozen-lockfile
    如果您要添加依赖,请使用 pnpm add。
    pnpm-lock.yaml 文件是所有 Nuxt 依赖的权威来源。
  5. 激活被动开发系统

    Terminal
    pnpm dev:prepare
  6. 切换到您可以工作并提交更改的分支:

    Terminal
    git checkout -b my-new-branch

然后,在提交拉取请求之前,请在 playground 中测试您的更改,并对更改进行测试。

Playground

在处理拉取请求时,您可能想检查您的更改是否正常工作。

您可以修改 playground/ 中的示例应用,并运行:

Terminal
pnpm dev
请确保不要将该示例提交至您的分支,但您可以把一些示例代码添加到您的 PR 描述中,这有助于审查者和其他 Nuxt 用户深入理解您构建的功能。

测试

每个新功能应对应一个单元测试(如果可能)。本仓库的 test/ 目录目前仍在建设中,但请尽力根据已有示例创建新的测试。

在创建 PR 或标记其为准备审查之前,请确保所有测试通过:

Terminal
pnpm test

代码规范

您可能已经注意到我们使用 ESLint 来强制执行代码规范。

在提交更改前,运行以下命令以验证代码样式是否正确:

Terminal
pnpm lint
您可以使用 pnpm lint --fix 来自动修复大部分样式问题。
如果仍有错误,则需要手动修正。

文档

如果您新增功能、重构或以其他方式改变 Nuxt 的行为,您很可能需要更新文档。请在同一个 PR 中包含任何文档更改。您无需在第一次提交时写好文档(但请在您的拉取请求成熟后尽快补充文档)。

请确保按照文档风格指南进行修改。

最终检查清单

提交 PR 时,您需要填写一个简单的模板。请勾选所有适当的选项。

文档指南

如果您发现文档或错误提示有改进空间,请务必提交 PR —— 即使只是修复一个拼写错误!

请确保按照文档风格指南进行修改。

快速编辑

如果您发现拼写错误或想重新表达一句话,可以点击位于右侧 社区 区域的 编辑此页 链接。

在 GitHub 界面中直接修改并发起拉取请求。

长篇修改

文档内容位于 nuxt/nuxt 仓库的 docs/ 目录内,采用 Markdown 编写。

如需本地预览文档,请参阅 nuxt/nuxt.com 仓库中的步骤。
我们推荐您安装 VS Code 的 MDC 插件。

链接到其他文档页面时,请使用不带域名或版本段的相对路径:使用 /docs/getting-started/installation,而不是 /docs/3.x/getting-started/installation。nuxt.com 会插入构建该页面所用分支的版本段,因此同一个链接在每个版本中都能正确解析,并且文档更改可以在分支之间直接 cherry-pick,无需修改。只有当您有意链接到其他版本的文档时,才应写入版本段;在这种情况下,请使用完整 URL https://nuxt.com/docs/4.x/getting-started/introduction,以便在审查时明确表达意图。

文档代码规范检查

文档使用 MarkdownLint 和 case police 进行规范检测,保持文档风格统一。

Terminal
pnpm lint:docs
您也可以运行 pnpm lint:docs:fix 来高亮并解决所有规范问题。

提交 PR

请确保您的 PR 标题符合 conventional commits 规范。

PR 标题示例
docs: update the section about the nuxt.config.ts file