Framework
阅读完 general contribution guide 后,这里有一些关于向 nuxt/nuxt 仓库贡献的具体说明。
Monorepo 指南
packages/kit: 用于编写 Nuxt 模块的工具包,发布为@nuxt/kit。packages/nuxt: Nuxt 的核心,发布为nuxt。packages/schema: 跨版本的 Nuxt 类型定义和默认值,发布为@nuxt/schema。packages/rspack: Nuxt 的 Rspack 打包器,发布为@nuxt/rspack-builder。packages/vite: Nuxt 的 Vite 打包器,发布为@nuxt/vite-builder。packages/webpack: Nuxt 的 webpack 打包器,发布为@nuxt/webpack-builder。
设置
要为 Nuxt 做出贡献,您需要在本地搭建开发环境。
- 将
nuxt/nuxt仓库 Fork 到您自己的 GitHub 账号,然后将其 克隆 到本地设备。 - 确保使用最新的 Node.js(20.x)
- 启用 Corepack 以使用
pnpm和yarnTerminalcorepack enable - 运行
pnpm install --frozen-lockfile使用 pnpm 安装依赖:Terminalpnpm install --frozen-lockfile如果您要添加依赖,请使用pnpm add。pnpm-lock.yaml文件是所有 Nuxt 依赖的事实来源。 - 激活被动开发系统
Terminal
pnpm dev:prepare - 检出一个可以工作和提交更改的分支:
Terminal
git checkout -b my-new-branch
然后,在 playground 上测试您的更改,并在提交拉取请求前对更改进行 测试。
Playground
在处理拉取请求时,您很可能想检查更改是否正常工作。
您可以修改 playground/ 中的示例应用,并运行:
pnpm dev
测试
每个新功能都应当有相应的单元测试(如有可能)。本仓库中的 test/ 目录目前仍在开发中,但请尽最大的努力根据已有示例创建新的测试。
在创建 PR 或将其标记为可审阅之前,运行以下命令以确保所有测试通过:
pnpm test
Linting
您可能已经注意到我们使用 ESLint 来强制执行代码规范。
在提交更改之前,为了验证代码风格是否正确,请运行:
pnpm lint
pnpm lint --fix 修复大多数样式问题。 如果仍有残留错误,您必须手动修正它们。
文档
如果您正在添加新功能、重构或以其他方式更改 Nuxt 的行为,您很可能需要记录这些更改。请在同一个 PR 中包含对文档的任何更改。您不必在第一次提交时就编写完文档(但请在您的拉取请求足够成熟时尽快补上)。
最终检查清单
在提交您的 PR 时,有一个需要填写的简单模板。请勾选清单中所有适当的“答案”。
文档指南
如果您发现可以改进文档或错误提示的地方,请务必打开一个 PR —— 即便只是修正一个拼写错误!
快速编辑
如果您发现拼写错误或想重写某个句子,可以点击位于右侧边栏 Community 部分的 Edit this page 链接。
直接在 GitHub 界面中进行修改并打开一个 Pull Request。
较长的编辑
文档内容位于 nuxt/nuxt 仓库的 docs/ 目录中,并以 Markdown 编写。
文档 Linting
文档使用 MarkdownLint 和 case police 进行 lint,以保持文档风格一致。
pnpm lint:docs
pnpm lint:docs:fix 来突出并解决任何 lint 问题。打开一个 PR
请确保您的 PR 标题符合 conventional commits 指南。
docs: update the section about the nuxt.config.ts file