文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

这么好的微前端解决方案你顶得住?

2024-12-03 16:24

关注

微前端不是一门具体的技术,而是整合了技术、策略和方法,可能会以脚手架、辅助插件和规范约束这种生态圈形式展示出来,是一种宏观上的架构。这种架构目前有多种方案,都有利弊之处,但只要适用当前业务场景的就是好方案。

[[356740]]

1. iframe

iframe 是 html 提供的标签, 可以加载其他web应用的内容 ,还能兼容所有的浏览器,所以它可以加载全部你想要加载的web应用 。它最大的特点就是提供了浏览器原生的硬隔离方案,无论是样式隔离、js 隔离这类问题全部都能完美解决。

iframe虽然能基本做到微前端所该做的所有事情,但它的隔离性无法被突破,导致应用间上下文无法被共享,会带来开发体验、产品体验的问题。不是单页应用,会导致浏览器刷新 iframe url 状态丢失、后退前进按钮无法使用。

2. ES Module

微前端无外乎三大特性, 无技术栈限制 、 应用单独开发 , 多应用整合 。

3. qiankun

在微前端界, qiankun 称得上是最早成型且知名度最广的框架了,qiankun 的特点在其官网中是这样说的:

基于 single-spa 封装,提供了更加开箱即用的 API技术栈无关,任意技术栈的应用均可使用,不论是React/Vue/Angular/JQuery 还是其他等框架HTML Entry 接入方式,让你接入微应用像使用 iframe 一样简单样式隔离,保证微应用之间样式互相不干扰JS 沙箱,微应用之间全局变量/事件不冲突资源预加载。

4. EMP

Federation 实现,达到第三方依赖共享,减少不必要的代码引入的目的。每个微应用独立部署运行,并通过cdn的方式引入主程序中,所以只要部署一次,即可提供给任何基于 Module Federation 的应用使用。而且这部分代码是远程引入,不必参加应用的打包。

EMP 通过 cdn 加载微应用,所以每个微应用中的代码有变动时,不用重新打包发布就能加载到最新的微应用。每个微应用间都可以引入其他的微应用,没有中心应用的概念。跨技术栈组件式调用,提供了在主应用框架中可以调用其他框架组件的能力。

开发者可以按需加载,选择加载微应用中需要的部分,不强制将整个应用全部加载。每一个应用都可以进行状态共享,就像使用npm模块进行开发一样,十分方便。EMP 除了具备微前端的能力外,也有跨应用状态共享、跨框架组件调用的能力,这是它优秀的地方!

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯