框架
关于对框架仓库贡献的一些具体要点。
阅读完 通用贡献指南 后,以下是针对贡献至 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 贡献代码,您需要搭建本地开发环境。
- Fork
nuxt/nuxt
仓库到您自己的 GitHub 账号,然后将其 clone 到本地设备。 - 确保使用最新的 Node.js(20.x)。
- 启用 Corepack,以便使用
pnpm
和yarn
Terminalcorepack enable
- 使用 pnpm 安装依赖:
Terminal
pnpm install --frozen-lockfile
如果您要添加依赖,请使用pnpm add
。pnpm-lock.yaml
文件是所有 Nuxt 依赖的权威来源。 - 激活被动开发系统
Terminal
pnpm dev:prepare
- 切换到您可以工作并提交更改的分支:
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 —— 即使只是修复一个拼写错误!
请确保遵循 文档风格指南 进行更改。
快速编辑
如果您发现拼写错误或想重新表达一句话,可以点击位于右侧 Community 区域的 编辑此页 链接。
在 GitHub 界面中直接修改并发起拉取请求。
长篇修改
文档内容位于 nuxt/nuxt 仓库的 docs/
目录内,采用 Markdown 编写。
如需本地预览文档,请参阅 nuxt/nuxt.com 仓库中的步骤。
我们推荐您安装 VS Code 的 MDC 插件。
文档规范检测
文档使用 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