背景:写了一个UI工具,因为自己的项目是uni-app写的,通过uni-app的插件模式编译后形成微信组件,以子包形式提供给其他团队使用
表现:
- 首页正常,一旦放开 ui 工具的展示,后续进入子包页面就会空白
- 控制台报错,无法找到对应的文件 webpackJsonp
排查:
- 对比了taro与 uni-app 的构建产物,对应的运行时内都是由 webpackJsonp 对子包文件进行引入;
- error 是在uni 工具开启后异常,定位到是由uni-app的文件加载覆盖了原有taro的文件引入
- uni-app 对wx 进行了重写,注释/补充原有 webpackJsonp 的引入
解决:
- 在
initWx函数块内补充newWx.webpackJsonp = oldWx.webpackJsonp || [] 通过patch-package 在构建uni-app产物时使用修改后的dcloud/uni-app 进行构建
done!