安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

轻量高效功能强大的微前端框架MicroApp

1月13日 听雨眠投稿
  前沿
  这几年后端的微服务是比较火爆,我们公司目前只要是新项目,基本上都是基于微服务去架构的,那么微前端是什么呢?
  微前端是借鉴了微服务的架构理念,核心在于将一个庞大的前端应用拆分成多个独立灵活的小型应用,每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用融合为一个完整的应用,或者将原本运行已久、没有关联的几个应用融合为一个应用。微前端既可以将多个项目融合为一,又可以减少项目之间的耦合,提升项目扩展性,相比一整块的前端仓库,微前端架构下的前端仓库倾向于更小更灵活
  为什么不用iframe
  以前我们为了把几个独立运行的小型应用合并成一个应用都是通过iframe的方式去实现的,如果不考虑体验问题,iframe几乎是最完美的微前端解决方案了。
  iframe最大的特性就是提供了浏览器原生的硬隔离方案,不论是样式隔离、js隔离这类问题统统都能被完美解决。但他的最大问题也在于他的隔离性无法被突破,导致应用间上下文无法被共享,随之带来的开发体验、产品体验的问题
  microapp的优势
  microapp不是基于iframe架构的
  1、使用简单
  microapp提供了js沙箱、样式隔离、元素隔离、预加载、数据通信、静态资源补全等一系列完善的开箱即用功能
  2、零依赖
  microapp没有任何依赖
  3、兼容所有框架
  为了保证各个业务之间独立开发、独立部署的能力,microapp做了诸多兼容,在任何技术框架中都可以正常运行。
  简单使用
  下面我讲一下如何在Vue中使用microapp
  1、初始化一个基座应用初始化一个vue应用大家可以理解这是一个基座应用就是把其它的应用都向它身上集成vuecreatemainapp安装microapp依赖npmimicrozoemicroappsave
  2、基座应用的文件修改
  main。js修改入口main。jsimportVimportAppfrom。App。路由信息importrouterfrom。router。引入微前端importmicroAVue。config。productionT微前端基座应用启动microApp。start();newVue({router,render:(h)h(App),})。mount(app);
  router。js修改router。js文件如下importVimportRimportmainPagefrom。。viewsmainpage。constroutes〔{非严格匹配,mainpage都指向mainPage页面path:mainpage,name:mainpage,component:mainPage,},〕;constrouternewRouter({mode:history,设置主应用基础路由为mainpage子应用基础路由为mainpagexxxbase:mainpage,routes,});exportdefaultrouter
  3、mainpage。vue页面template下面就是要接入的子应用urlh1子应用h1name(必传):应用名称url(必传):应用地址,会被自动补全为http:localhost:3000index。htmlbaseroute(可选):基座应用分配给子应用的基础路由,就是上面的mainpagemicroappnameapp1urlhttp:localhost:3000baseroutemainpagemicroapptemplate
  4、创建一个子应用初始化一个vue应用vuecreatechildapp
  5、子应用的router。js文件修改constrouternewRouter({mode:history,MICROAPPBASEROUTE为microapp传入的基础路由base:window。MICROAPPBASEROUTEprocess。env。BASEURL,routes,});
  6、src目录下新建publicpath。jsMICROAPPENVIRONMENT和MICROAPPPUBLICPATH是由microapp注入的全局变量if(window。MICROAPPENVIRONMENT){webpackpublicpathwindow。MICROAPPPUBLICPATH}
  7、main。js引入publicpath。jsmain。jsimportVimportAppfrom。App。importrouterfrom。router。jsimport。Vue。config。productionTconstappnewVue({router,render:(h)h(App),})。mount(app);监听卸载操作window。addEventListener(unmount,function(){app。destroy();});
  到此这个简单的微应用就搭好了
  觉得效果不错的请帮忙加个关注点个赞,经常分享前端实用开发技巧
投诉 评论 转载

OPPOFindX3,颜值与实力并存的自拍手机说到OPPO,就会有人说是厂妹机,对于这个说法我只觉得emmm,只要厂妹机好用、性价比高,我愿意被叫厂妹。总比花大价格买一个5G都没有的手机是吧(我在讽刺哪些一听OPPO就说厂……小米路由器Mesh公测米粉晒奇葩户型花式炫富日前,小米路由器Mesh正式开启0元公测,并宣布新品即将上市。据官方介绍,小米路由器Mesh是一套可以搞定各种家庭环境的WiFi系统,解决全户型网络覆盖问题的路由设备。小……上市2个月从1499降至999,vivo6128GB千元机,因为iQOO系列,vivo手机在网友心中的印象已经大为改观。同时vivo手机所搭载的FoutouchOS也有极大的进步,这些都让vivo手机在互联网上的口碑大有转变。但vivo……iPhone12参加618大促,是不是因为销量不好?可以很肯定告诉你,iPhone12的销量并不差,之所以参加618大促,无非是想继续扩大优势罢了!iPhone12销量依然恐怖下图右侧是市场研究机构Counterpoint……MACOS下thrift下载与安装用brew安装brewinstallbisonbrewinstallthriftjava实例创建thrift接口声明文件创建一个服务TesterService,创建文件T……小程序自定义组件小程序中的js对象实例,按作用域大小划分,大致可以归为三类:App,Page,Component。Component也即本文要重点要讲的自定义组件,或称模板。一、App……消息称realmeGT2将于12月20日全球发布,第二款高通IT之家12月13日消息,经过多次爆料,realme近日终于正式宣布了旗下首款高端旗舰手机真我GT2Pro。realme创始人、CEO李炳忠宣布将推出realme首款高端……平板微波炉等于电磁炉?高颜值百元微波炉入手推荐为什么要买微波炉?其实水母家里原来是没有微波炉的,因为觉得微波炉主要的用途是热剩饭,在家吃饭的也不算多,剩下来的又比较少,所以一直没有买。但是西安这段时间疫情,现在已经居……轻量高效功能强大的微前端框架MicroApp前沿这几年后端的微服务是比较火爆,我们公司目前只要是新项目,基本上都是基于微服务去架构的,那么微前端是什么呢?微前端是借鉴了微服务的架构理念,核心在于将一个庞大的前……特斯拉问题原因找到啦!反人类的设计把准备刹车变成准备加油特斯拉问题不断,到底问题出在哪里?是车子失控?刹车失灵吗?这种概率是有的,但一个这样车企,这种概率应该是零,否则就该倒闭了!那原因在哪里呢?经分析隐形杀手就是能量回收系统……巨幕智屏时代何时真正到来?TCL98ampamp39ampa倘若将时间回溯到十年前,三四十英寸的电视已经算是彼时的高端电视产品了,根本想象不到电视屏幕能够发展到近百英寸,然而科技的发展与进步却把这个看似天方夜谭的幻想带进了现实,到了今天……免费无弹窗广告,良心软件360安全卫士极速版正式发布随着windwos11系统的推了,同时外加系统中广告频繁弹出,于是将系统刷入的Windows11镜像,新的系统桌面感觉真的很漂亮。新系统安装好后,各应用也开始了安装,而对……
吸尘器十大名牌,实用小家电介绍中方支持的黑客攻击印度电力设施?外交部回应工业路由器稳定胜于一切,蒲公英R300A体验今日头条内容品鉴官,有什么深远影响?JavaScript中的一等函数公民4月1日起,驾照新规实施,考驾照有5大变化,一次搞清楚中华酷联大洗牌!华为屡获佳绩,联想成为众矢之的,中兴酷派呢?当手机出现这几种情况时,就可以换新机了通道越多的助听器价格一定是越贵吗?独家时代被终结!腾讯千亿业务或将瓦解,马化腾多年的布局白费了OPPO新机证件照亮相,主打轻薄影像,背面设计有亮点都在关注红米新机的发布,但未发现红米K30S已降至冰价可爱的贝贝没钱怎么提起民事诉讼?风起洛阳窈娘真实身份,风起洛阳窈娘扮演者敲门不等于我是非法闯入者新生儿大便有奶瓣是怎么回事俄罗斯仅存的红海军基洛夫级核动力巡洋舰国宝秘方肺结节病百治百效五味消毒饮抖音国内日活用户突破2。5亿月活破5亿宝妈们这样做,不怕宝宝哭着不分享愿时光善待你唯美句子小年可以上坟吗小年上坟称为接祖宗高温天气行车前如何检查车辆

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利