微信小程序入门(三):miniprogram-ci 实现小程序代码的上传等操作

目录

1. 问题背景

(1)问题

(2)解决方案:miniprogram-ci

2. 命令行方式实现上传

2.1 安装 miniprogram-ci 

2.2 在终端执行上传命令

2.3 遇到的几个问题汇总

3. nodejs脚本方式实现上传

3.1 新建一个文件夹目录miniprogram-ci, 用VScode打开  

3.2 创建项目:cnpm install miniprogram-ci --save

3.3 在miniprogram-ci目录下,新建文件夹src, 再建文件src/upload.js    

3.4 编写upload.js代码

3.5 在VSCode中,直接通过终端的node命令执行upload.js

4. 检查代码是否已顺利上传


1. 问题背景

(1)问题

如果不通过微信开发者工具,是否有办法实现小程序代码的上传,预览等效果?

(2)解决方案:miniprogram-ci

miniprogram-ci 是从微信开发者工具中抽离的关于小程序/小游戏项目代码的编译模块。

详见微信官方文档.小程序 --》开发辅助 --》CI

【针对上传操作,这里记录一下自己的操作步骤。预览效果的操作步骤之后再补充。】

2. 命令行方式实现上传

2.1 安装 miniprogram-ci 

命令:

npm install -g miniprogram-ci

或者 

cnpm install -g miniprogram-ci

备注:用npm命令安装模块,-g表示全局安装

2.2 在终端执行上传命令

(1)前提:

win10中,小程序代码已经编写好(在微信开发者工具中创建项目然后进行编写),存在本地某路径。

(2)上传操作的终端命令

C:/Users/pearl/AppData/Roaming/npm/miniprogram-ci upload --pp '此处是小程序的代码路径' --pkp '此处是privateKey的路径(含privateKey的文件名)' --appid 此处是appid值  --uv 版本号 -r 开发者(机器人编号)

(3)相关参数/选项解析:

--pp

后面用单引号括起小程序源代码的路径,可以是本地路径,如果是在Jenkins中,并且要先从gitee仓库拉取源代码到本地,则这个路径可以进行参数化,比如 %WORKSPACE%等。

--pkp

后面用单引号括起privateKey的路径(含文件名.key), privateKey要是找不到了,可以在“开发文档 ---> 开发 ---> 开发管理 ---> 开发设置”中重新生成。

--appid:  

可以在“开发文档 ---> 开发 ---> 开发管理 ---> 开发设置”中找到。通常没有做特殊改动的话,appid和privateKey名称一致(不带key名的前缀和后缀)

--uv

自定义版本号,格式如1.0.1

-r:

上传者编号,比如设为2,则上传后上传者显示为:ci机器人2。 同一个上传者的程序会相互覆盖,即后面上传的版本会覆盖前面上传的。当想保存多个上传版本时,这个上传者设置就比较有用。设为不同的上传者上传即可。

2.3 遇到的几个问题汇总

(1)问题1:今天在运行上述命令时,运行失败了。查了很久,没找到原因。报错:

20003 Error: {"errCode":-1,"errMsg":"get new ticket fail innerCode: -80011"}

解决方案:

最后我直接重新生成上传密钥,用新的密钥文件替换原来的。

然后重新输入上述命令,运行,就成功了。

具体原因,目前还不清楚。 


 

(2)问题2:选项如果带--enable-es6 true , 编译运行时会卡住,报错

解决方案:去掉--enable-es6 true

3. nodejs脚本方式实现上传

3.1 新建一个文件夹miniprogram-ci, 用VScode打开
  

3.2 创建项目:cnpm install miniprogram-ci --save

在VSCode中,打开终端,cd到miniprogram-ci目录下,用命令来为项目安装miniprogram-ci模块

cnpm install miniprogram-ci --save 

(安装完成后,会自动生成node_modules目录和package.json文件)


  

3.3 在miniprogram-ci目录下,新建文件夹src, 再建文件src/upload.js

upload.js即应用文件,在里面编写具体代码。

3.4 编写upload.js代码

(1)模板可从微信小程序开发文档中拷贝出来(概述 | 微信开放文档 (qq.com))。

(2)异步的代码:如果用模板中这个代码,直接node命令运行的话,可能看不到结果。所以下方做该改动。

注意:如果代码中设置es6: true,则编译运行会报错

修改前:

        

修改后:

const ci = require('miniprogram-ci')

const project = new ci.Project({
    appid: 'wxxxxxxxxxxxxxx',
    type: 'miniProgram',
    projectPath: 'C:/Users/pearl/WeChatProjects/miniprogram-s2/',
    privateKeyPath: 'C:/Users/pearl/WeChatProjects/private.wxxxxxxxxxxxxxx.key',
    ignores: ['node_modules/**/*'],
})

const uploadResult = ci.upload({
    project,
    version: '1.1.8',
    desc: 'hello 0902',
    setting: {
      es6: false,
    },
    onProgressUpdate: console.log,
})

console.log(uploadResult)

    

3.5 在VSCode中,直接通过终端的node命令执行upload.js

在src目录下运行命令: node upload.js

10.27补图:

4. 检查代码是否已顺利上传

(1)在小程序页面 ---> 管理 ---> 版本管理中,检查代码是否顺利上传

如图,即已顺利上传。

(2)补:10.27演示的结果如图。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值