micro-app icon indicating copy to clipboard operation
micro-app copied to clipboard

在 microApp 下使用 模块联邦 报错

Open createYourFirst opened this issue 1 year ago • 4 comments

问题描述

问题的具体描述 主应用使用 microApp 加载子应用,同时主应用采用模块联邦导出共享的组件,子应用加载组件报错。非microApp下,不报错。

复现步骤

  1. 主应用引入子应用
  2. 主应用与子应用采用模块联邦,共享组件

上传截图

请上传代码截图、控制台、终端等截图以帮助我们了解您的问题。 image image

复现仓库

请提供一个精简的代码仓库,然后上传到自己的 github,以帮助我们复现您的问题。 https://github.com/BaiGuangTeng/demo

环境信息

  • micro-app版本:"1.0.0-rc.4"
  • 主应用前端框架&版本:"vue": "^3.4.15", "vite": "^5.0.11",
  • 子应用前端框架&版本:"vue": "^3.4.15", "vite": "^5.0.11",
  • 构建工具&版本:"vite": "^5.0.11",

createYourFirst avatar Feb 28 '24 12:02 createYourFirst

这个是报错信息 image

createYourFirst avatar Feb 28 '24 13:02 createYourFirst

webpack(vue-cli)下,也会有报错 image

createYourFirst avatar Feb 28 '24 13:02 createYourFirst

报错可以在server指定一下origin, image 但是我发现另外一个问题,就是使用@originjs/vite-plugin-federation 的shared后会导致打包后主基座加载这个应用直接就加载不出来,也就是说现在生产环境使用vite模块联邦的应用是加载不出来的,不知道后续会不会修复

an501920078 avatar Feb 29 '24 01:02 an501920078

我发现是使用@originjs/vite-plugin-federation 的shared后window.mount没调用导致的,可能是不是由于打包后的top-await造成(猜测),在子应用index.html中加入这段代码,让子应用不断重试可以解决上面我发现的问题。const umdKey = “micro-app-${window.MICRO_APP_NAME}”;这一段中“记得替换,我不知道如何输入code模式转义这个

an501920078 avatar Mar 08 '24 05:03 an501920078