[讨论] 使用命令行上传微信小游戏

最近研究了使用 命令行 上传 微信小游戏
使用 测试项目 是上传成功的
但是使用 正式项目 却失败了
获得一段报错:

[error] {
  code: 10,
  message: 'Error: 错误 Error: project.config.json: libVersion 字段需为 string, string\n' + ...

我看了一下 project.config.json: libVersion 字段
值是 “game”, 这是 string 啊, 莫名其妙的


后来经验证
曾经用 命令行 上传失败的项目
微信开发者工具 打开之后
就能成功用 命令行 上传了
肯定是这个 project.config.json: libVersion 字段 搞事情


然后我对比了一下
微信开发者工具 打开前后的 project.config.json
发现差距还挺大的

除了 libVersion 被从 “game” 改成 “3.10.0” 之外, 还有多处修改


然后正想做测试的时候, 又不行了
无论是我自己手动修改 project.config.json
还是经过 微信开发者工具 打开
还是无法用 命令行 上传, 这次的报错是:

[error] {
  code: 10,
  message: "Error: 错误 Error: ENOENT: no such file or directory, open '******/build/wechatgame/mgcrypto.min.js'\n" + ...

我不知道它为什么老盯着这个 mgcrypto.min.js 文件不放
因为这个文件压根就不在目录里
它在打包的时候已经被Cocos改成 mgcrypto.min.2ca03.js

但是 微信开发者工具 却照样能上传, 不知道哪里抽风了 :upside_down_face:

打开微信开发工具时,他会自动帮你修改这个字段

https://github.com/Gongxh0901/creator-build-tools

其他修改可以不用看,在上传之前,预处理一次 project.config.json 就可以了

wechatLibVersion自己弄个配置文件填就好

const wechatLibVersion = globalConfig.wechatLibVersion;

globalconfig.json
{
“wechatLibVersion” : “3.8.6”,
“retryCount” : 3
}

我后面遇到的问题, 基本上都是 no such file or directory
就算开着 微信开发者工具 也是这个报错
经常指向一些不存在的文件
我不知道是有什么缓存功能导致的
我一直都用同一个文件夹来上传, cocos打包之前会清空文件夹的
(因为我原本是手动上传, 用同一个文件夹可以更快速打开)
看来需要加个时间戳之类的

:rofl:看得出大家都是懒人,在找偷懒的方法。但是又像极了修复一个bug出来三个新bug的样子

建议这个值不要写死啊,可以写成widelyUsed,当然也可以写成下面的,trial一般不建议

latest:最新的非灰度中的基础库
trial:最新的基础库
widelyUsed:使用比例最高的基础库