导语
dva1.x接入qiankun的例子不多,我在接入的过程中也遇到了一个疑问,至今没找到根本原因,故作本文记录。基础的demo,不涉及原理。抛砖引玉,希望有更多对dva或者微前端感兴趣的铁铁们补充赐教。
背景
有一个4年前的B端项目,技术栈dva 1.x,需要增加新功能模块A,而现在团队主技术栈vue,考虑到维护成本,决定引入微前端解决方案qiankun,老项目作为主应用,增加一个路由页面加载微应用(新模块A)。
demo 概览
主应用
Dva 1.x初始化项目- 独立仓库:micro-base-dva
- 独立部署:micro-base-dva.vercel.app/
微应用
- 由
vue-cli 4+生成的vue 3.x项目 - 独立仓库:micro-vue3
- 独立部署:micro-vue3.vercel.app/
遇到的问题
如下图所示,本地调试正常,build部署后有2个报错,
n.forEach is not a function
application 's' died in status NOT_BOOTSTRAPPED: e.activeWhen is not a function
问题排查思路:调试和 build 好像只有压缩的区别,试一下不压缩打包,排除压缩的问题。果然没有报错了。至于压缩报错根本原因,还未找到。如果您有思路,请不吝赐教。
最终解决方案:将打包命令由atool-build改为atool-build --no-compress,即不压缩打包,