微前端子应用加载时白屏怎么办? ლ红彦 提问于 2026-03-26 21:13:24 阅读 8 前端 我用 qiankun 搭了个微前端项目,主应用能正常加载,但子应用一挂载就白屏,控制台也没报错,特别奇怪。 我试过把子应用单独跑起来是没问题的,集成到主应用后路由也配置对了,但就是显示不出来。是不是 entry 配置有问题? registerMicroApps([ { name: 'sub-app', entry: '//localhost:8081', container: '#subapp-container', activeRule: '/sub' } ]); 应用加载 我来解答 赞 2 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 一小敏 Lv1 我的做法是先检查子应用的 publicPath 配置。qiankun 默认会把子应用的资源都加载到主应用的上下文路径,如果子应用的静态资源(js、css)没有正确配置路径的话,就会导致白屏。 在子应用的 webpack 配置里加上这个: output: { publicPath: window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__ || '/' } 另外记得确认子应用的 html template 里引用静态资源时用相对路径或者动态获取路径。比如说 <link href="/static/style.css"> 可能要改成 <link href="./static/style.css"> 或者更灵活的方式。 还有个容易忽略的地方就是样式冲突。如果你用的是 antd 这类 ui 框架,可能需要开启 qiankun 的 sandbox 样式隔离: registerMicroApps([ { name: 'sub-app', entry: '//localhost:8081', container: '#subapp-container', activeRule: '/sub', props: {}, sandbox: { strictStyleIsolation: true } } ]) 这几个地方搞定后应该就能解决大部分白屏问题了,我自己之前也被这问题折磨过好几天,希望对你有帮助。 回复 点赞 2026-03-26 21:17 加载更多 相关推荐 1 回答 68 浏览 CEF加载本地HTML时白屏怎么办? 我用CEFSharp做桌面应用,加载本地HTML文件一直显示白屏,控制台也没报错。路径是file:///C:/app/index.html,文件确实存在。 试过改成http://本地服务就能正常显示,... 宇文丽君 框架 2026-03-16 14:44:18 1 回答 26 浏览 微前端子应用加载太慢,怎么优化首屏性能? 我们用 qiankun 搭了个微前端项目,主应用加载很快,但子应用首次进入时白屏好几秒,用户体验很差。试过动态 import 和预加载,但效果不明显。 子应用入口是通过 script 标签注入的,像这... UX-毅蒙 框架 2026-03-14 14:47:20 2 回答 61 浏览 微前端子应用部署后主应用加载不到资源怎么办? 我们用 qiankun 搭的微前端架构,本地开发没问题,但子应用部署到测试环境后,主应用加载时报 404,找不到子应用的 JS 和 CSS。子应用单独访问是正常的,路径也配了 publicPath,但... 夏侯美丽 前端 2026-02-25 10:46:25 1 回答 3 浏览 图片懒加载在移动端白屏怎么办? 我用 IntersectionObserver 做了图片懒加载,PC 上没问题,但一到手机上就先白屏好一会儿才加载出来,体验很差。是不是我写法有问题? 我的代码是这样写的: const observe... 南宫奕卓 优化 2026-03-27 18:22:19 2 回答 40 浏览 FCP太慢了,首屏加载白屏好几秒怎么办? 我们首页上线后 Lighthouse 报 FCP 超过 4 秒,用户一进来就是白屏,体验很差。已经做了图片懒加载和代码分割,但首屏关键资源还是加载太慢。 关键 CSS 是内联的,但字体文件和首屏数据请... 码农爱香 优化 2026-02-28 08:25:21 1 回答 48 浏览 微前端子应用卸载后生命周期钩子没触发导致内存泄漏怎么办? 在用qiankun搭建微前端时,发现动态加载的子应用卸载后unmount和destroy钩子没执行,导致重复挂载时出现组件残留。我按文档在子应用里写了: // app.js async functio... UI迁迁 框架 2026-02-19 14:54:25 2 回答 48 浏览 Vue路由懒加载后页面白屏,chunk文件未加载怎么办? 在Vue项目里给路由配置了懒加载,但切换对应页面时直接白屏,控制台没报错。检查network发现对应的.js和.js.map文件都没加载。尝试过把写法从箭头函数改回函数表达式,还手动加了webpack... 迷人的秀丽 前端 2026-02-01 11:06:36 2 回答 90 浏览 微前端子应用加载时依赖冲突怎么办? 最近用single-spa集成React和Vue子应用,但发现两个子应用都依赖lodash,版本不同导致功能异常。尝试过用webpack的externals和alias隔离,但打包后还是报错Canno... Des.志煜 框架 2026-01-28 23:41:30 1 回答 7 浏览 微前端子应用的生命周期钩子为啥不执行? 我用 qiankun 搭了个微前端项目,主应用能正常加载子应用,但子应用里的 bootstrap、mount 这些生命周期函数好像根本没被调用,控制台也没报错。 子应用导出的生命周期是这样写的: ex... 东江 Dev 框架 2026-03-26 17:34:20 1 回答 18 浏览 Chromely加载本地HTML时路径怎么写才对? 我在用Chromely做桌面应用,想加载本地的index.html文件,但总是白屏或者报404。文档里说要用相对路径,但我试了好几种写法都不行,到底该怎么配置路径啊? 我的项目结构是根目录下有个www... 上官鑫钰 框架 2026-03-26 14:12:19
在子应用的 webpack 配置里加上这个:
另外记得确认子应用的 html template 里引用静态资源时用相对路径或者动态获取路径。比如说
<link href="/static/style.css">可能要改成<link href="./static/style.css">或者更灵活的方式。还有个容易忽略的地方就是样式冲突。如果你用的是 antd 这类 ui 框架,可能需要开启 qiankun 的 sandbox 样式隔离:
这几个地方搞定后应该就能解决大部分白屏问题了,我自己之前也被这问题折磨过好几天,希望对你有帮助。