在微信后台下载秘钥。
"微信公众平台-开发-开发设置"下载代码上传密钥,并配置 IP 白名单。打开后只有白名单中的 IP 才能调用相关接口。
获得密钥文件一般为,`private.${appid}.key`。
安装上传工具。
在项目中安装 miniprogram-ci。
```
npm install miniprogram-ci --save
```
- 在 `package.json` 文件中添加上传密钥所在路径。本文新建 `key` 文件夹存放该密钥
```
// package.json
......
"uploadKey": "/key/private.wxappid.key",
......
```
- 添加上传脚本。
在项目根目录下添加 `upload.wx.js` 文件。
```
// upload.wx.js
const ci = require('miniprogram-ci')
// 从 package.json 中读取 version,description 和 uploadKey
let { version, description: desc, uploadKey } = require('./package.json')
// 读取小程序 appid
let { appid } = require('./project.config.json')
if (!version) version = '1.0.0'
if (!desc) desc = new Date() + '上传'
if (!appid) appid = 'touristid'
if (!uploadKey) uploadKey = `/key/private.${appid}.key`
// 创建项目对象
const project = new ci.Project({
appid, // 小程序appid
type: 'miniProgram', // 类型,小程序或小游戏
projectPath: process.cwd(), // 项目路径
privateKeyPath: process.cwd() + uploadKey, // 密钥路径
ignores: ['node_modules/**/*'], // 忽略的文件
})
// 调用上传方法
ci.upload({
project,
version,
desc,
setting: {
es6: true, // 是否 "es6 转 es5"
minify: true, // 是否压缩代码
},
}).then(res => {
console.log(res)
console.log('上传成功')
}).catch(error => {
if (error.errCode == -1) {
console.log('上传成功')
}
console.log(error)
console.log('上传失败')
process.exit(-1)
})
```
- 执行上传
```
node upload.wx.js
```