NutUI 贡献指南
NutUI PR 流程规范
当社区力量逐渐变大以后,NutUI 会保持更活跃的发展态势,并兼顾组件质量和用户体验。所以为保证组件库的良性发展,减少组件库的问题,针对开发 NutUI 制定了一套 PR 流程规范,从而保证 NutUI 能发展的更好,走的更远。
1、fork 项目
NutUI 的代码 fork 到自己的仓库,然后 clone 到本地,其次添加主代码库:
// 将 fork 过来的仓库 clone 到本地
git clone https://github.com/{username}/nutui.git
cd nutui
// 添加主代码库
git remote add origin https://github.com/jdf2e/nutui.git
2、分支管理
目前 github 上长期维护2个版本,如果您在使用小程序或者 vue3 版本的组件,有新增的组件功能或者 bug 可反馈到 next 分支;如果您在使用 vue2 版本的组件库,可以将 bug 反馈到 v2 分支。
这里需要注意,为避免代码冲突造成无法合并,大家提交之前记得同步主库的代码哦~~
上一步的时候已经添加了主仓库,在这里可以使用 git rebase 来同步下代码。
// 拉取主仓库的代码
git fetch origin
// 同步对应分支的代码
git rebase origin/master
git rebase origin/next
3、NutUI PR 提交
对某个组件的修复或优化,其分为两种情况。
- 文档或样式的修改
- 组件新功能、新组件要增加对应的单元测试,并且要在 nutui-demo 项目中试用通过。
第一种情况
git add .
git commit -m "xxx"
git push
NutUI commit 规范遵从 Angular Style Commit Message Conventions,在 commit message 的时候请提前熟悉规范哦~
登录 github 在自己 fork 的仓库中进行提交。




提交完成后,会在主库的 pull requests 中看到自己的提交记录。

到这一步提交代码的 PR 就结束了,耐心等待开发人员的代码 review,并关注自己的邮箱哦~ 有问题会随时通知到大家的修改或优化的,如果没什么问题就直接合并到主库了。

当看到这个左上角紫色的 merged 的时候说明提交的代码已经被合并到主库了。😄
第二种情况
第二种情况需要在第一种情况步骤前增加测试步骤。
1、增加单元测试,单元测试的代码就在当前组件的 tests 文件夹下,并且运行通过。
2、增加 demo 测试,NutUI 提供一个测试仓库 nutui-demo,此仓库目的是模拟真实的使用场景,测试方法比较简单。
1. 当前 NutUI 工程中,把更改后的内容打个包
npm run build
2. 运行结束后生成 dist 文件夹
3. NutUI-demo 下载,安装依赖
npm i
4. 把 node_modules 中 @nutui/nutui 下的 dist 文件夹用新生成的 dist 文件直接替换掉
5. 运行 nutui-demo 项目
npm run dev
6. 在 nutui-demo 中使用,按照组件 props 传参的方式直接设置就成
<template>
<nut-searchbar v-model="val1" :clear-icon="icon1"></nut-searchbar>
<nut-searchbar v-model="val2" :clear-icon="icon2"></nut-searchbar>
</template>
<script setup>
import { ref } from "vue";
const val1 = ref("哈哈哈");
const val2 = ref("呵呵呵");
const icon1 = "close";
const icon2 = "图标链接";
</script>
3、对于新的功能,需要在 doc 文档表述清楚,便于开发者使用。目前每个组件的文档需要支持中英文切换,同时遵守 md 文档的语法。

查看自己新增的功能或组件、文档没有问题的话,就可以重复第一种情况的步骤进行提交了。