最近入职公司做 uniapp,项目里需要用到 DCloud 云开发,所以没有用 cli,从开始打包到微信就跑不通,后续总结了一下
运行代码
- 小程序管理后台添加开发者权限
- D-Cloud 后台添加应用参与者权限
- 打开微信开发者工具 - 设置 - 安全 - 打开服务端口
- HBuilderX 切换到项目云服务空间
- 配置微信开发者工具启动地址
- 点击顶部发行到微信开发者工具,注意:不点「运行」因为是本地局域网调试,接不到云服务
- 在微信开发者工具启动后,打开右上方详情 - 本地设置 - 不校验合法域名
- 预览小程序前,手机要接上同一局域网下的 wifi
处理体积问题
打包到微信小程序后上传又发现体积过大,审核时一直不通过。发现是 uniapp 打包到微信小程序时,会自动把 uniapp 自带的组件打包到微信小程序,导致体积过大,通过分包和处理静态资源的方式,将体积减小,成功通过微信小程序审核。
- 检查本地静态资源,除了 tabBar 的 icon 其他图片资源全部放在 cdn 外链使用
- 合理分包,在 manifest.json 中的微信小程序配置项中配置以下内容,开启分包加载和按需引入
1 | "optimization" : { |
- pages.json 中除了 tabBar 的主页面其他所有页面文件夹单独申明到分包中,在 subPackages 中申明其他文件路径,包括 uni-module 。subPackages 内申明的都是子包
1 | { |
注意
修改 pages.json 的时候经常保存提示格式错误,但是明明我的格式一行一行检查没问题,uniapp 官网也没有明确注释,后续发现如果 pages 最后一条是条件编译模块,则会报错,和逗号有关。
解决办法就是:拉一个非条件编译模块到最后