UniAPP打包发布到支付宝小程序打包失败 JS heap out of memory 的解决方案

问题起因:

问题起因是我想把发布到微信小程序的UniAPP项目发布到支付宝小程序上。

问题原因:

暂时没有找到原因,可能是项目页面太多导致编译内存爆掉了。

寻求思路:

翻阅支付宝开发者平台文档,发现支付宝有小程序cli:https://opendocs.alipay.com/mini/02q17h
而且小程序cli中有一个appxv属性引起了我的注意:https://opendocs.alipay.com/mini/02q17m
官方文档是这么说的:

强制指定使用的 基础库 构建模式,如果不指定会根据 小程序项目配置文件(mini.project.json)中的相关字段来自动判断。
appx: 'v1' | 'v2' | 'legacy-v1'
可选值:
v1:构建使用小程序基础库 1.x 进行运行的小程序。
v2:构建使用小程序基础库 2.x 进行运行的小程序。
legacy-v1:使用旧构建器构建小程序基础库 1.x(不推荐)。

这里我对这三个开发模式切换后发现legacy-v1构建模式不会出现内存爆掉的问题。

解决方案:

使用支付宝的cli工具并使用legacy-v1编译模式进行编译。具体操作如下:

  1. 安装nodejs、npm
  2. 任意位置安装支付宝小程序命令行工具minidev
npm i -g minidev --registry=https://registry.npmmirror.com
  1. 用命令行打开项目编译目标位置(hbuilder打包后会告诉你目标目录,运行模式和发布模式都可以)
  2. 执行以下命令进行登录授权:
minidev login

执行后,终端界面会出现授权二维码,在二维码过期前使用支付宝 APP 进行扫码,即可完成授权。
5. 执行下面的命令进行调试:

minidev dev --appxv legacy-v1

运行后长这样:
命令行执行结果
直接输入ide回车就可以弹出支付宝开发者工具进行调试了。
6. 需要发布时可以执行build命令然后publish:

minidev build --source-map false --appxv legacy-v1
minidev upload --app-id 你的小程序APPID

执行成功后你就可以在开发者平台后台看到你的小程序了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值