Vue和React的运行时,校验引入包的上下文差异

背景

系统使用 webpack 5 模块联邦实现微前端,有关如何实现跨应用的代码共享,可参考 如何优雅的实现跨应用的代码共享 里的第三大点。
总之,这里是其他应用使用了某个应用共享出来的reg文件,引入方式为:

import REG from 'Shared/utils/reg';

一、React运行时校验引入包错误

1. 基础配置文件
Vue和React的运行时,校验引入包的上下文差异_第1张图片 Vue和React的运行时,校验引入包的上下文差异_第2张图片
2. 场景分析

运行系统,不进入任何具体页面
场景1
Vue和React的运行时,校验引入包的上下文差异_第3张图片
结果: 系统正常运行

场景1
Vue和React的运行时,校验引入包的上下文差异_第4张图片
结果:

运行报错 ,且所有react页面都进不去

4.初步猜测(有待研究并进一步完善)

现象:只是在代码引入而未中使用的话也不会导致相关错误
个人猜测:

  1. 运行时会先校验所有页面的共享代码
  2. 不会校验所有共享代码的引入是否正确,而是校验是否能正常使用(所以就算引入了,但是没有使用的话,也不会报错)
  3. 若出现错误,可能终止了后续的路由注册,导致所有页面都进不去

二、Vue运行时校验引入包错误

结论:
  1. 只有进入具体页面时才会校验页面的引入包的路径是否正确(能否找到对应内容)
  2. 只要引入了,就算没有使用也会报错
  3. 只有进入某个具体页面时才会报错,不会影响其他页面

你可能感兴趣的:(vue.js,react.js,前端)