From a2ebf0c43562116b18ae226e3e15df2219395ff9 Mon Sep 17 00:00:00 2001 From: qiang Date: Thu, 31 Mar 2022 19:58:44 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=A2=9E=E5=8A=A0=E8=B4=A1=E7=8C=AE?= =?UTF-8?q?=E6=8C=87=E5=8D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/CONTRIBUTING.md | 147 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 .github/CONTRIBUTING.md diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 000000000..953429ac6 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,147 @@ +# uni-app 贡献指南 + +## 环境搭建 + +* 需要安装 [Node.js](http://nodejs.org/) 12+,以及 [yarn](https://yarnpkg.com/en/docs/install)。 +* 克隆仓库到本地后,执行 ```yarn ``` 安装开发依赖。 + +## 开发 + +* packages 目录无需编译。 +* src 目录需执行命令编译到目标平台,如:```yarn build:mp-weixin```。 +* 执行 ```yarn lint```、```yarn lint:cli``` 分别检查运行时和编译器代码风格。 +* 执行 ```yarn test:unit```、```yarn test:cli``` 分别运行运行时和编译器的测试。 + +## 测试 + +* 需要安装 Vue CLI 4.x。 + + ``` + npm install -g @vue/cli@4 + ``` +* 创建 uni-app 测试工程。 + + ``` + vue create -p dcloudio/uni-preset-vue#alpha uniapp-test + ``` +* 从本地安装改动过的依赖。 + + ``` + yarn add @dcloudio/%包名%@%uni-app本地仓库路径%/packages/%包名% + ``` +* 编写测试代码。 +* 编译到对应平台进行测试。 + +## 提交 PR + +* fork 本仓库,在自己仓库基于 dev 分支创建专用分支用于提交更改。 +* commit 规范遵循 Vue 仓库 [Git Commit Message Convention](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md)。 +* 提交之前确保进行了完善的测试。 +* 确保 PR 提交到 dev 分支。 +* 修复 Bug 请提供详细的描述信息,或链接到对应的 issue。 +* 提交新功能请阐明起用途以及提交到主仓库的必要性。除抹平不同平台 API 与组件差异的功能外,最好事先仓库主要成员商议后再进行。 + + +## 项目结构 + +* build:编译脚本 +* lib:其他编译依赖 +* dist:其他编译后的文件 +* docs:~~文档目录~~ ,现已迁移 +* examples:~~示例目录~~,现已迁移 +* packages:编译器以及编译后的运行时 + * uni-automator:自动化测试依赖包 + * uni-cli-i18n:国际化依赖包(编译器) + * uni-cli-shared:编译器共享包 + * uni-i18n:国际化依赖包(运行时) + * uni-migration:小程序组件到 Vue 组件的转换工具 + * uni-h5:H5 平台运行时依赖包 + * dist:编译后的文件 + * uni-app-plus:App 平台依赖包 + * dist:编译后的文件 + * template:预编译以及静态文件依赖 + * lib:App平台编译选项和其他编译依赖 + * uni-app-plus-nvue:App(nvue)平台依赖包 + * uni-mp-weixin:微信小程序平台依赖包 + * dist:微信小程序运行时编译后的文件 + * lib:微信小程序编译选项和其他编译依赖 + * uni-mp-alipay:支付宝小程序平台依赖包 + * uni-mp-baidu:百度小程序平台依赖包 + * uni-mp-qq:QQ小程序平台依赖包 + * uni-mp-toutiao:字节小程序平台依赖包 + * uni-mp-kuaishou:快手小程序平台依赖包 + * uni-mp-jd:京东小程序平台依赖包 + * uni-mp-lark:飞书小程序平台依赖包 + * uni-quickapp-native:快应用平台依赖包 + * uni-quickapp-webview:快应用平台依赖包 + * uni-template-compiler:模板编译器 + * __tests__:单元测试 + * lib:编译依赖 + * vue-cli-plugin-hbuilderx:[Vue CLI 插件](https://cli.vuejs.org/zh/dev-guide/plugin-dev.html),用于处理 HBuilderX 环境 + * vue-cli-plugin-uni:[Vue CLI 插件](https://cli.vuejs.org/zh/dev-guide/plugin-dev.html),用于配置 [webpack](https://webpack.js.org/concepts/) 等编译选项,部分配置在用户项目内可以被 [vue.config.js](https://cli.vuejs.org/zh/config/#vue-config-js) 覆盖 + * bin + * commands + * lib + * packages:内置依赖包 + * mp-vue:小程序平台使用的 Vue 依赖,由仓库 [fxy060608/vue](https://github.com/fxy060608/vue) 编译。 + * vue-cli-plugin-uni-optimize:Vue CLI 插件,主要处理 H5 平台摇树优化 + * webpack-uni-mp-loader:webpack loader,用于生成小程序平台的各种文件 + * webpack-uni-pages-loader:webpack loader,用于解析 pages.json + * lib + * platforms:平台差异实现 + * h5 + * app-plus + * mp-weixin + * uni-stat:uni统计依赖包 +* src:运行时源码目录 + * assets:静态资源 + * core:运行时公共部分 + * helpers + * runtime + * service:逻辑层(App、H5) + * api:uni 接口实现(App、H5 平台公共部分) + * bridge:逻辑层和视图层通讯桥 + * plugins + * view:视图层(App、H5) + * bridge:逻辑层和视图层通讯桥 + * components:组件实现(App、H5 平台公共部分) + * mixins + * plugins + * platforms:各平台运行时差异实现部分 + * h5:H5 平台运行时 + * components:H5 平台框架内部组件实现 + * helpers + * runtime + * service + * api:uni 接口实现(H5 平台) + * view + * bridge + * components:组件实现(H5 平台) + * app-plus:App 平台运行时 + * helpers + * runtime + * service + * api:uni 接口实现(App 平台) + * view + * api + * bridge + * components:组件实现(App 平台) + * framework + * mixins + * app-plus-nvue:App(nvue)平台运行时 + * mp-weixin:微信小程序平台运行时 + * helpers + * runtime + * api:对 wx 对象部分方法对输入输出参数进行处理以抹平各平台差异 + * wrapper:对微信小程序的 App、Page、Component 进行包装,以将小程序原生组件实例和 Vue 组件实例进行绑定 + * mp-alipay:支付宝小程序平台运行时 + * mp-baidu:百度小程序平台运行时 + * mp-qq:QQ小程序平台运行时 + * mp-toutiao:字节小程序平台运行时 + * mp-kuaishou:快手小程序平台运行时 + * mp-jd:京东小程序平台运行时 + * mp-lark:飞书小程序平台运行时 + * quickapp-native:快应用平台运行时 + * quickapp-webview:快应用平台运行时 + * shared +* test:单元测试(运行时) \ No newline at end of file -- GitLab