微信小程序
# CLI 发行uni-app到微信小程序 (opens new window)
HBuilderX 3.3.7-alpha,支持使用CLI发行微信小程序。
通过此种方式,可在命令行或其它CI工具中,完成微信小程序代码的上传、预览等操作。
# CLI命令语法 (opens new window)
| 参数 | 说明 |
|---|---|
| --platform | 必填,发行平台(MP-WEIXIN) |
| --project | 必填,项目名称 |
| --appid | 必填,微信小程序appid |
| --subPackage | 发行为混合包, 示例:--subPackage xxx |
| --upload | 打包后是否上传到微信平台,只有值为true时生效 |
| --description | 上传的小程序描述 |
| --privatekey | 微信代码上传密钥文件 详情 (opens new window) |
| --version | 上传小程序的版本号;选填。如果不填写,则会读取manifest.json中的版本号 |
| --sourceMap | 生成SourceMap,值为 true 时生效,默认为 false |
| --robot | 指定微信ci机器人编号(取值范围:1 ~ 30),默认为 1 |
注意:--robot参数,仅支持HBuilderX 3.6.18+版本。同时需要升级 微信小程序上传CI插件 (opens new window)
# 仅编译uni-app项目到微信小程序
cli publish --platform mp-weixin --project 项目名称
# 编译uni-app项目到微信小程序,并上传发行小程序到微信平台
cli publish --platform mp-weixin --project 项目名称 --upload true --appid 小程序appid --description 发布描述 --version 发布版本 --privatekey 小程序上传密钥文件
cli publish --platform mp-weixin --project 项目名称 --upload true --appid 小程序appid --description 发布描述 --version 发布版本 --privatekey 小程序上传密钥文件 --robot 2Copy to clipboardErrorCopied
2
3
4
5
6
7
# 小程序代码上传密钥 (opens new window)
HBuilderX 3.3.7+, uni-app 发行到微信小程序,支持自动上传代码到微信平台,无需再通过微信开发者工具上传发行。详情 (opens new window)
HBuilderX 发行微信小程序,需要提供微信小程序代码上传密钥
通过微信小程序CI,使用上传密钥上传代码,无需打开微信开发者工具,一键完成微信小程序代码的上传、预览等操作。
如何获取微信小程序代码上传密钥?
打开微信公众平台 官网 (opens new window), 扫码登录,左侧菜单【开发 -> 开发管理】,点击tab【开发设置】,如下图:

下载密钥文件:

miniprogram-ci (opens new window) 是从微信开发者工具 (opens new window)中抽离的关于小程序/小游戏项目代码的编译模块。
开发者可不打开小程序开发者工具,独立使用 miniprogram-ci 进行小程序代码的上传、预览等操作。
miniprogram-ci 从 1.0.28 开始支持第三方平台开发的上传和预览,调用方式与普通开发模式无异。查看详情 (opens new window)
# 密钥及 IP 白名单配置
使用 miniprogram-ci 前应访问"微信公众平台 (opens new window)-开发-开发设置"后下载代码上传密钥,并配置 IP 白名单 开发者可选择打开 IP 白名单,打开后只有白名单中的 IP 才能调用相关接口。我们建议所有开发者默认开启这个选项,降低风险 代码上传密钥拥有预览、上传代码的权限,密钥不会明文存储在微信公众平台上,一旦遗失必须重置,请开发者妥善保管

# 功能
miniprogram-ci 目前提供以下能力:
- 上传代码,对应小程序开发者工具的上传
- 预览代码,对应小程序开发者工具的预览
- 构建 npm,对应小程序开发者工具的: 菜单-工具-构建npm
- 上传云开发云函数代码,对应小程序开发者工具的上传云函数能力
- 上传云托管代码,对应小程序开发者工具的上传云托管能力
- 上传云存储/静态托管文件,对应小程序开发者工具-云开发-云存储和静态托管文件管理
- 代理,配置 miniprogram-ci 的网络请求代理方式
- 支持获取最近上传版本的 sourceMap
- 支持 node 脚本调用方式和 命令行 调用方式
# 脚本调用
npm install miniprogram-ci --save
