背景
系统使用 webpack 5 模块联邦实现微前端,有关如何实现跨应用的代码共享,可参考 如何优雅的实现跨应用的代码共享 里的第三大点。
总之,这里是其他应用使用了某个应用共享出来的reg文件,引入方式为:
import REG from 'Shared/utils/reg';
一、React运行时校验引入包错误
1. 基础配置文件
2. 场景分析
运行系统,不进入任何具体页面
场景1
test-page.tsx文件的具体代码内容
结果: 系统正常运行
场景2
test-page.tsx文件的具体代码内容
结果:
运行报错 ,且所有react页面都进不去
4.初步猜测(有待研究并进一步完善)
现象:只是在代码引入而未中使用的话也不会导致相关错误
个人猜测:
- 运行时会先校验所有页面的共享代码
- 不会校验所有共享代码的引入是否正确,而是校验是否能正常使用(所以就算引入了,但是没有使用的话,也不会报错)
- 若出现错误,可能终止了后续的路由注册,导致所有页面都进不去
二、Vue运行时校验引入包错误
结论:
- 只有进入具体页面时才会校验页面的引入包的路径是否正确(能否找到对应内容)
- 只要引入了,就算没有使用也会报错
- 只有进入某个具体页面时才会报错,不会影响其他页面