提交 3d862895 编写于 作者: Q qiang

docs: add CONTRIBUTING.md

上级 eb19a1f1
# uni-app 贡献指南
## 环境搭建
* 需要安装 [Node.js](http://nodejs.org/) 16+,以及 [pnpm](https://pnpm.io/)
* 克隆仓库到本地后,执行 ```pnpm install``` 安装开发依赖。
## 开发
* 执行命令编译指定包,如:```npm run build uni-mp-weixin```
* 执行 ```npm run lint``` 检查代码风格。
* 执行 ```yarn test``` 运行测试。
## 测试
* 创建 uni-app 测试工程。
```
npx degit dcloudio/uni-preset-vue#vite uniapp-test
```
* 从本地安装改动过的依赖,由于部分包对软链可能兼容不佳,暂不推荐使用 ```npm link``` 方式。
```
yarn add @dcloudio/%包名%@%uni-app本地仓库路径%/packages/%包名%
```
* 编写测试代码。
* 编译到对应平台进行测试。
## 提交 PR
* fork 本仓库,在自己仓库基于 next 分支创建专用分支用于提交更改。
* commit 规范遵循 Vue 仓库 [Git Commit Message Convention](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md)
* 提交之前确保进行了完善的测试。
* 确保 PR 提交到 next 分支。
* 修复 Bug 请提供详细的描述信息,或链接到对应的 issue。
* 提交新功能请阐明起用途以及提交到主仓库的必要性。除抹平不同平台 API 与组件差异的功能外,最好事先仓库主要成员商议后再进行。
## 项目结构
* packages:uni-app 编译器以及运行时依赖
* uni-cli-shared:编译器共享包
* ``__tests__``:单元测试
* dist:编译后的文件
* lib:其他依赖
* src:源文件
* messages:编译器国际化语言包
* uni-app:框架接口、生命周期等
* uni-api:运行时全局 uni 对象提供的接口,平台公用
* uni-components:运行时全局组件,平台公用
* uni-i18n:国际化依赖包(运行时)
* uni-h5-vite:H5 平台 Vite 插件
* uni-h5-vue:H5 平台使用的 Vue 框架
* uni-h5:H5 平台运行时依赖包
* dist:编译后的文件
* lib:其他依赖
* src:源文件
* compiler:编译器(当前平台独有部分)
* service:逻辑层
* view:视图层
* uni-app-vite:App 平台 Vite 插件
* uni-app-vue:App 平台使用的 Vue 框架
* uni-app-plus:App 平台依赖包
* dist:编译后的文件
* lib:其他依赖
* src:源文件
* compiler:编译器(当前平台独有部分)
* service:逻辑层
* view:视图层
* uni-app-plus-nvue:App(nvue)平台依赖包
* uni-mp-vite:小程序平台 Vite 插件
* uni-mp-vue:小程序平台使用的 Vue 框架
* uni-mp-compiler:小程序编译器(各小程序平台通用部分)
* ``__tests__``:单元测试
* dist:编译后的文件
* lib:其他依赖
* src:源文件
* template:模版编译
* transforms:属性转换
* uni-mp-core:小程序平台运行时(各小程序平台通用部分)
* ``__tests__``:单元测试
* src:源文件
* api:uni 对象接口适配
* runtime:运行时框架生命周期等
* uni-mp-weixin:微信小程序平台依赖包
* dist:编译后的文件
* lib:其他依赖
* src:源文件
* api:uni 对象接口适配,抹平 wx 对象的平台差异
* compiler:编译器(当前平台独有部分)
* runtime:运行时框架生命周期等
* uni-mp-alipay:支付宝小程序平台依赖包
* uni-mp-baidu:百度小程序平台依赖包
* uni-mp-qq:QQ小程序平台依赖包
* uni-mp-toutiao:字节小程序平台依赖包
* uni-mp-kuaishou:快手小程序平台依赖包
* uni-mp-lark:飞书小程序平台依赖包
* uni-quickapp-webview:快应用平台依赖包
* uni-stat:uni统计依赖包
* scripts:编译脚本
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册