入门
贡献
了解如何为 Nuxt UI 贡献力量。
Nuxt UI 得益于其优秀的社区 ❤️,社区成员通过提交问题、创建拉取请求和提供宝贵的反馈来贡献力量。
在报告错误或提出功能请求之前,请确保您已阅读我们的文档和现有的 问题。
提交拉取请求 (PR)
1. 开始之前
检查是否存在描述您正在处理的问题或功能请求的现有问题。如果有,请在问题上留言,让我们知道您正在处理它。
如果没有,请打开一个新问题来讨论问题或功能。
2. 本地开发设置
要开始本地开发,请按照以下步骤操作
- 将
nuxt/ui
仓库克隆到您的本地机器
git clone https://github.com/nuxt/ui.git
- 启用 Corepack
corepack enable
- 安装依赖项
pnpm install
- 生成类型存根
pnpm run dev:prepare
- 配置您的本地开发环境
- 要处理位于
docs
文件夹中的**文档**,请运行
pnpm run dev
- 要使用**游乐场**测试组件,请运行
pnpm run play
IDE 设置
我们建议使用 VS Code 以及 ESLint 扩展。您可以在保存代码时启用自动修复和格式化。方法如下
{
"editor.codeActionsOnSave": {
"source.fixAll": false,
"source.fixAll.eslint": true
}
}
您也可以使用 lint
命令
pnpm run lint # check for linting errors
pnpm run lint:fix # fix linting errors
没有 Prettier
由于 ESLint 已经配置为格式化代码,因此不需要使用 Prettier 来重复功能。
如果您在编辑器中安装了 Prettier,我们建议您禁用它,以避免冲突。
类型检查
我们使用 TypeScript 进行类型检查。您可以使用 typecheck
命令检查类型错误
pnpm run typecheck
3. 提交约定
我们使用 Conventional Commits 进行提交信息,这允许根据提交自动生成变更日志。如果您不熟悉它,请阅读 指南。
注意
fix
和feat
用于实际的代码更改(可能会影响逻辑)。对于排版或文档更改,请使用docs
或chore
代替
-> fix: typo
docs: fix typo
- 如果您正在处理特定的组件,请确保在括号中指定提交的主要范围。例如
feat(Alert): new component
chore(Table): improve accessibility
4. 创建拉取请求
- 在创建 PR 时,请按照提供的 说明进行操作
- 确保您的 PR 标题符合 Conventional Commits 标准,因为代码合并后会使用它。
- 多个提交是可以的;无需重新设置基线或强制推送。合并时我们将使用
Squash and Merge
。 - 在提交 PR 之前,请确保代码已通过 linting 并手动运行测试。避免进行无关的更改。
5. 提交拉取请求后
我们会尽快进行审查。如果分配给维护者,他们会仔细审查它。忽略红色文本;它是用于跟踪目的的。
项目结构
在这个项目中,您会发现各种用于不同目的的文件夹和文件。以下是主要文件夹和文件的概述
- 文档 -
docs
:
文档位于 docs
文件夹中。它是一个 Nuxt 应用程序,使用 @nuxt/content
模块从 Markdown 文件生成文档页面。以下是其结构的细分
docs/
├── components/
│ ├── examples/ # Components used in documentation as examples
│ └── themes/ # Components used in the examples page in the theming section
├── content/ # Documentation, separated into categories according to component types
│ ├── 1.getting-started/
│ │ ├── 1.index.md
│ │ ├── 2.installation.md
│ │ ├── ... etc
│ ├── 2.elements/ # The category of components, which are elements
│ │ ├── 1.accordion.md # Docs for a single component (i.e., accordion)
│ │ ├── 2.alert.md
│ │ ├── ... etc
└── ... etc
- 组件 -
src
:
组件位于 src
文件夹中。它根据组件类型分为不同的类别。以下是其结构的细分
src/
├── runtime/
│ ├── composables/ # Composable functions used in components
│ ├── components/ # Components folder, separated into categories according to component types
│ │ ├── data/ # The category of components, which are data related
│ │ │ ├── table.vue/ # Table component
│ │ │ ├── elements/ # Elements category
│ │ │ │ ├── ...etc/
│ │ │ └── ... etc/
│ │ ├── plugins/ # Plugins used in components
│ │ ├── utils/ # Utility functions used on the components page (e.g., lodash)
│ │ ├── types/ # Types used in components
│ │ │ ├── accordion.d.ts/ # [componentName].d.ts type used for single component
│ │ │ ├── avatar.d.ts/
│ │ │ └── ... etc/
│ │ ├── ui.config.ts/ # Configuration file used to apply styles to every component
├── colors.ts/ # Everything related to color functions (e.g., safelistByComponent, generateSafelist)
└── ... etc/ # Other files and folders
感谢
再次感谢您对这个项目的兴趣!您很棒!❤️