首页/新闻资讯/正文详情

微前端狂想曲:我试图让三个不同门派的前端住进同一栋楼

发布时间:2026/11/13 11:29:24 来源:云帆数科 栏目:资讯中心
微前端狂想曲:我试图让三个不同门派的前端住进同一栋楼
微前端狂想曲我试图让三个不同门派的前端住进同一栋楼某天深夜我盯着一个巨大的 node_modules突然冒出一个疯狂的想法如果前端应用不是一整块铁板而是一堆乐高积木呢序章一个被“巨兽”压垮的夜晚那天晚上我打开了一个自己维护了三年的个人项目。它一开始很小只是一个用 Vue 写的工具页。后来我想加个博客于是塞了个 React 的编辑器进去。再后来我又想加个音乐播放器用原生 JS 写的也挂在了同一个页面上。结果这个项目变成了一个“三不像”。Vue 的组件和 React 的组件在同一棵 DOM 树里打架。样式互相污染一个 .button 改得全局崩溃。打包出来的 bundle.js 有 4MB每次改一行字都要重新构建。发布时整个应用一起上线博客改个错别字播放器也得跟着“重启”。我盯着屏幕心里冒出一个念头“我为什么要把它们塞进同一个应用里它们明明可以各自独立又能出现在同一个页面上啊。”这个念头就是微前端的起点。第一章微前端是什么——不是技术是“分而治之”的哲学很多人以为微前端是一种框架、一个库。其实不是。微前端是一种架构思想把一个大的前端应用拆成多个小的、独立的、可以单独开发、单独部署、单独运行的应用再把它们组合成一个整体。用漫画来比喻的话单体应用一栋大楼所有房间都在同一张图纸上改一个房间要动整栋楼的结构。微前端一栋“合租公寓”每个房间有自己的门锁、自己的装修风格、自己的租客但共用同一个大门、同一个走廊、同一个水电系统。租客之间互不干扰但对外看起来它们是一栋楼。这就是微前端的核心魅力独立与统一的平衡。第二章四种“合租方案”的漫画对决当我开始研究怎么实现微前端时我发现了四条路。它们就像四种不同的合租方案各有各的脾气。方案一iframe —— 最老派也最省心【分镜】一个铁皮箱子里面装着一个完整的小世界。箱子外面贴着一张纸条“别碰我我自己能活。”iframe 是最原始的微前端方案。每个子应用跑在一个独立的 iframe 里拥有自己的window、自己的document、自己的 CSS 和 JS。优点天然隔离样式不冲突JS 不污染。子应用可以用任何技术栈完全不用管主应用。缺点通信靠 postMessage像隔墙喊话。路由同步麻烦刷新页面容易丢状态。弹窗、遮罩层只能在 iframe 内部显示不能覆盖整个页面。性能开销大每个 iframe 都是一个独立的浏览器上下文。我的感想iframe 像“合租但各自带锁的房间”安全但孤独。适合集成老系统不适合追求体验的现代应用。方案二Web Components —— 原生但生态弱【分镜】一个标准化的插头不管你是哪国电器插上就能用。Web Components 是浏览器原生支持的组件化方案。你可以用my-app这样的自定义标签把子应用封装成一个组件。优点浏览器原生不依赖框架。Shadow DOM 提供天然的样式隔离。缺点生态不成熟和 Vue/React 集成需要额外适配。路由、通信、状态管理都得自己造轮子。兼容性虽然好了很多但仍有坑。我的感想Web Components 像“标准插头”理念很美但现实中的电器五花八门插头标准还没统一。方案三qiankun —— 社区里的“物业公司”【分镜】一个穿着制服的物业管家手里拿着一本《合租公约》负责协调所有租客。qiankun 是基于 single-spa 的微前端框架在国内非常流行。它帮你处理了路由劫持、JS 沙箱、样式隔离、资源加载等脏活累活。优点开箱即用接入成本低。支持 HTML Entry子应用几乎不用改代码。生态成熟文档齐全。缺点沙箱不是 100% 隔离某些全局变量仍会泄漏。对 Vite、Webpack 5 的支持需要额外配置。主应用和子应用的技术栈仍然有一定耦合。我的感想qiankun 像“物业公司”帮你搞定大部分琐事但你还是得遵守它的规则。方案四Module Federation —— 共享仓库的“模块联邦”【分镜】几个房间共用一个仓库谁需要什么直接去仓库拿不用自己造。Module Federation 是 Webpack 5 引入的特性它让不同的应用可以互相共享模块。比如主应用可以直接import子应用暴露出来的组件。优点真正的模块共享运行时动态加载。适合多个应用共享公共依赖如 React、Vue。构建时解耦运行时集成。缺点强依赖 Webpack 5对 Vite 等构建工具支持有限。版本管理复杂共享模块的版本冲突需要小心处理。学习曲线较陡。我的感想Module Federation 像“共享仓库”效率极高但前提是大家都用同一套仓储系统。第三章我的构想——一个“前端宇宙”研究完这些方案后我开始幻想一个更理想的微前端世界。我把它叫做“前端宇宙”。主应用是引力场负责提供导航、布局、用户认证、全局状态。子应用是一颗颗行星各自独立运转有自己的技术栈、自己的发布周期、自己的团队哦不自己的“居民”。通信机制是引力波主应用和子应用之间通过事件总线或共享状态传递信息。样式隔离是大气层每个星球有自己的环境不会污染别人。路由是星际航道用户可以在不同星球之间穿梭URL 同步变化。在这个宇宙里我可以用 Vue 写博客用 React 写音乐播放器用 Svelte 写待办清单。每个子应用独立开发、独立部署互不影响。主应用只负责“把它们拼在一起”不关心它们内部怎么实现。用户感觉不到切换就像在一个应用里浏览。这个构想让我兴奋了很久。但很快我冷静下来开始思考它的代价。第四章微前端的“暗面”——复杂度不会消失只会转移微前端不是银弹。它解决了一些问题但引入了新的问题。性能多个子应用意味着多次资源加载、多个运行时。首屏可能更慢。通信主应用和子应用之间如何传递数据事件总线全局状态Props每一种都有坑。样式隔离Shadow DOM 不兼容所有 UI 库CSS Modules 需要构建时支持qiankun 的沙箱也不是万能的。路由主应用和子应用的路由如何同步刷新页面时如何恢复到正确的子应用版本管理子应用依赖的公共库版本不一致怎么办调试错误堆栈跨应用定位问题更难。部署子应用独立部署但主应用需要知道它们的地址配置管理变复杂。最扎心的是如果你只有一个团队、一个技术栈、一个发布节奏微前端可能完全是过度设计。第五章我到底需不需要微前端这个问题我問了自己很多遍。如果你的项目满足以下条件微前端可能适合你多个团队独立开发发布节奏不同。技术栈不统一需要渐进式迁移。应用规模巨大单体构建和部署已经难以忍受。需要集成老系统又不想重写。但如果你的项目是一个人维护的小项目。技术栈统一发布节奏一致。规模不大构建速度还能接受。那微前端可能只会给你添乱。我的结论是微前端是一种“权衡”不是一种“进化”。它用复杂度换独立性用性能换灵活性。值不值得取决于你的场景。终章前端世界分久必合合久必分从 jQuery 到 Angular从 React 到 Vue从前端路由到微前端前端世界一直在“分”与“合”之间摇摆。微前端不是终点它只是这个时代的一种答案。它回答了一个问题当应用大到一定程度如何让它继续可维护、可扩展、可独立演进也许未来会有更好的方案。也许 Web Components 会崛起也许 Module Federation 会成为主流也许浏览器会原生支持微前端。但无论技术怎么变“分而治之”的思想不会变。而我对微前端的构想也会继续生长。P.S. 写完这篇文章后我把那个“三不像”项目拆成了三个独立应用用 qiankun 拼在一起。构建时间从 3 分钟降到了 30 秒但调试时间从 30 秒涨到了 3 分钟。P.P.S. 微前端真是一门“平衡的艺术”。

相关推荐

【深度学习实验】—— YOLOv12 水果目标检测实战:从数据集制作、模型训练到视频推理
【深度学习实验】—— YOLOv12 水果目标检测实战:从数据集制作、模型训练到视频推理

文章目录1. 简介2. 环境3. 代码实现3.1 前期准备3.1.1 项目结构与导入库3.1.2 数据集划分3.1.3 VOC 标注转换为 YOLO 格式3.1.4 数据配置与标签可视化3.2 模型建立与训练3.2.1 YOLOv12n 模型结构3.2.2 创建模型与训练入口3.2.3 训练参数与损失函数3.2.4 训练记录与模型保存3.3 … · 2026/11/11 0:49:40

大麦自动抢票怎么跑:3 个 Shell 脚本跑通移动端购票(附配置参数与排障表)
大麦自动抢票怎么跑:3 个 Shell 脚本跑通移动端购票(附配置参数与排障表)

大麦自动抢票怎么跑:3 个 Shell 脚本跑通移动端购票(附配置参数与排障表) 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purch… · 2026/11/9 16:34:05

Vim终端光标闪烁快速配置:3步调好频率与样式
Vim终端光标闪烁快速配置:3步调好频率与样式

Vim终端光标闪烁快速配置:3步调好频率与样式 【免费下载链接】vim-galore :mortar_board: All things Vim! 项目地址: https://gitcode.com/gh_mirrors/vi/vim-galore 在终端里写代码写到一半,编辑器窗口里那个方块光标一闪一闪,晃得人… · 2026/11/9 23:36:15

工地太忙根本没时间复习考试?电工证是不是全国通怎么考
工地太忙根本没时间复习考试?电工证是不是全国通怎么考

工地太忙根本没时间复习考试?电工证是不是全国通怎么考 工地太忙根本没时间复习考试,但电工证是不是全国通,关系到你能不能顺利转岗、能不能在多地接项目、甚至能不能保住现有岗位。很多人以为电工证只在当地有用,其实不然,它在 全国范围内通用… · 2026/11/13 11:28:35

低压电工证考核科目值不值得考 电工小白怕考不过白交培训费
低压电工证考核科目值不值得考 电工小白怕考不过白交培训费

低压电工证考核科目值不值得考 电工小白怕考不过白交培训费 怕考不过白交培训费?你不是一个人。每年都有不少想考低压电工证的学员,掏了钱去培训,结果一上考场就懵了,尤其是对【低压电工证考核科目】不清楚的人,更容易栽跟头。今天咱们就来聊聊低压电工… · 2026/11/13 11:28:35

犍为电工证在哪报名考试千万别踩坑,外省证能转吗?这篇讲透了
犍为电工证在哪报名考试千万别踩坑,外省证能转吗?这篇讲透了

犍为电工证在哪报名考试千万别踩坑,外省证能转吗?这篇讲透了 之前考的证在外省能不能转过来?这个问题不少朋友问过,尤其是那些在外地打工、准备回老家发展的朋友,最怕的就是之前花时间、花钱考的证,回老家用不了, 千万别踩坑… · 2026/11/13 11:28:35

花东哪里考电工证2026河南最新政策全解析
花东哪里考电工证2026河南最新政策全解析

花东哪里考电工证2026河南最新政策全解析 证书过期了不知道怎么复审延期,这种焦虑很多人都经历过。特别是花东地区的电工从业者,面对2026河南最新政策,很多人开始慌了神,担心证书失效后无法正常上岗。如果你也正面临这个问题,这篇文章将为你详细… · 2026/11/13 11:28:35

平阴低压电工证办证保姆级教程:别被中介坑了,教你全流程避坑
平阴低压电工证办证保姆级教程:别被中介坑了,教你全流程避坑

平阴低压电工证办证保姆级教程:别被中介坑了,教你全流程避坑 你是不是还在为【平阴低压电工证办证】发愁?不知道该去哪报名,怕被中介骗钱?别慌,本文就是为你量身打造的【保姆级教程】,从报名到考试、复审,全流程都给你讲明白,让你少走弯路,不花冤枉… · 2026/11/13 11:28:35

中级电工证几年审核官方回应来了,学历不高也能考
中级电工证几年审核官方回应来了,学历不高也能考

中级电工证几年审核官方回应来了,学历不高也能考 你是不是也担心自己学历不高,连中级电工证都报不了名?别急,官方回应来了,2024年最新政策明确表示,学历不是报考中级电工证的硬门槛。只要你有实际操作经验,符合年龄和健康要求,照样能报名参加考试… · 2026/11/13 11:27:34

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/12 14:09:01

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/13 5:40:45

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/12 23:27:43

维修电公用考电工证吗 在哪考最靠谱
维修电公用考电工证吗 在哪考最靠谱

维修电公用考电工证吗 在哪考最靠谱 工地太忙根本没时间复习考试,你是维修电工,天天在项目上跑,连抽个空背个题都难。那问题来了—— 维修电公用考电工证吗 ?答案是: 必须考 。尤其是在当前施工行业,没有电工证,连进场都可能被拦下。而且,… · 2026/11/13 0:00:08

电工证是不是可以登高?含金量和证书范围你必须知道的事
电工证是不是可以登高?含金量和证书范围你必须知道的事

电工证是不是可以登高?含金量和证书范围你必须知道的事 证书过期了不知道怎么复审延期,这事儿很多人遇到过,尤其是像你这样在郑州金水区做劳务班组负责人,手里握着几十个工人的证书,稍微一疏忽,就可能影响工程进度和公司信誉。特别是电工证是不是可以登… · 2026/11/13 0:00:08

鸡西电工证哪家下证快官方报名入口怎么找
鸡西电工证哪家下证快官方报名入口怎么找

鸡西电工证哪家下证快官方报名入口怎么找 你是不是也担心 学历不高怕报不上名 ?别急,今天我就来跟你说说, 鸡西电工证哪家下证快 ,还有 官方报名入口 到底怎么找,别让那些“代办”“代考”耽误了你的机会。… · 2026/11/13 0:00:08

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:12:21

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:11:51

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/12 21:15:21

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码