小程序
小游戏
企业微信
微信支付
扫描小程序码分享
miniprogram-ci工具调用ci.upload方法时,版本号参数是必填的
但是每次上传小程序时,如果还需要人工登录小程序平台去查询一下当前正式版的版本号,就没法做到自动化一键上传了
(我也没找到有哪个方法能获取当前正式版的版本号)
希望miniprogram-ci工具调用ci.upload方法时,版本号参数可以设置为选填,如果不传版本号参数的话,则按照当前正式版的版本号给小版本自动+1即可
或者能增加一个方法用于获取当前正式版的版本号
非常感谢~
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
将版本号维护到 package.json 虽然一种解决方法,但其实还是很无奈。比如说 upload 一个版本,然后产品验收不通过或者其他原因导致这个版本不能提审,需要调整后重新上传,这时候版本就不再是线上版本 +1 的形式,而是 +2 了(无论是 major、minor、还是 patch 版本)。如果官方不提供接口的话,这个版本管理问题还是没有最合适的解决方法。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你好,我这边自己实现了一套。 可以提供给你参考一下
updateVersion.js
安装 npm i semver 包
const semver = require('semver') let { version } = require('./package.json') const fs = require('fs') // 先更新小版本 let patchVersion = semver.inc(version, 'patch') // 更新以后,进行parse let patchVersionObject = semver.parse(patchVersion) // 小版本满10. 就直接更新中版本 if (patchVersionObject && patchVersionObject.patch > 10) { // 更新中版本 patchVersion = semver.inc(patchVersionObject, 'minor') } // 中版本满20,则进位 if (patchVersionObject && patchVersionObject.minor > 20) { patchVersion = semver.inc(patchVersionObject, 'major') } function updateVersion () { let strem = fs.readFileSync('./package.json').toString() // 转换成json strem = JSON.parse(strem) strem.version = patchVersion // 写入文件 fs.writeFileSync('./package.json', JSON.stringify(strem, null, 2)) console.log('版本更新成功') } /** * 根据不同的发布环境,如果是生产环境打包发布,则执行updateVersion() */ module.exports = updateVersion
下面在你的 miniprogram-ci 的逻辑里面调用一下即可
微信官方明确说不会提供这个功能,自己实现一下吧
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
将版本号维护到 package.json 虽然一种解决方法,但其实还是很无奈。比如说 upload 一个版本,然后产品验收不通过或者其他原因导致这个版本不能提审,需要调整后重新上传,这时候版本就不再是线上版本 +1 的形式,而是 +2 了(无论是 major、minor、还是 patch 版本)。如果官方不提供接口的话,这个版本管理问题还是没有最合适的解决方法。
你好,我这边自己实现了一套。 可以提供给你参考一下
updateVersion.js
const semver = require('semver') let { version } = require('./package.json') const fs = require('fs') // 先更新小版本 let patchVersion = semver.inc(version, 'patch') // 更新以后,进行parse let patchVersionObject = semver.parse(patchVersion) // 小版本满10. 就直接更新中版本 if (patchVersionObject && patchVersionObject.patch > 10) { // 更新中版本 patchVersion = semver.inc(patchVersionObject, 'minor') } // 中版本满20,则进位 if (patchVersionObject && patchVersionObject.minor > 20) { patchVersion = semver.inc(patchVersionObject, 'major') } function updateVersion () { let strem = fs.readFileSync('./package.json').toString() // 转换成json strem = JSON.parse(strem) strem.version = patchVersion // 写入文件 fs.writeFileSync('./package.json', JSON.stringify(strem, null, 2)) console.log('版本更新成功') } /** * 根据不同的发布环境,如果是生产环境打包发布,则执行updateVersion() */ module.exports = updateVersion
下面在你的 miniprogram-ci 的逻辑里面调用一下即可
微信官方明确说不会提供这个功能,自己实现一下吧