Skip to content

Latest commit

 

History

History
104 lines (90 loc) · 4.04 KB

CONTRIBUTING.md

File metadata and controls

104 lines (90 loc) · 4.04 KB

uni-app 贡献指南

当前贡献指南针对基于 Vue3 的 uni-app,如需阅读基于 Vue2 版本的贡献指南请移步 dev 分支。

环境搭建

  • 需要安装 Node.js 16+,以及 pnpm
  • 克隆仓库到本地后,执行 pnpm install 安装开发依赖。

开发

  • 执行命令编译指定包,如:npm run build uni-mp-weixin
  • 执行 npm run lint 检查代码风格。
  • 执行 npm run test 运行测试。

测试

  • 创建 uni-app 测试工程。

    npx degit dcloudio/uni-preset-vue#vite uniapp-test
    
  • 从本地安装改动过的依赖

    pnpm add @dcloudio/%包名%@%uni-app本地仓库路径%/packages/%包名%
    
  • 同时将本地依赖添加 resolutions 配置,强制测试工程统一使用。

  • 编写测试代码。

  • 编译到对应平台进行测试。

提交 PR

  • fork 本仓库,在自己仓库基于 next 分支创建专用分支用于提交更改。
  • commit 规范遵循 Vue 仓库 Git Commit Message Convention
  • 提交之前确保进行了完善的测试。
  • 确保 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:运行时框架生命周期等
        • platform:用于为框架提供统一的接口,对应 @dcloudio/uni-platform
    • 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:编译脚本