位置: IT常识 - 正文

微前端-qiankun:vue3-vite 接入 vue3、nuxt3、vue2、nuxt2等子应用(微前端的好处和缺陷)

编辑:rootadmin
微前端-qiankun:vue3-vite 接入 vue3、nuxt3、vue2、nuxt2等子应用

推荐整理分享微前端-qiankun:vue3-vite 接入 vue3、nuxt3、vue2、nuxt2等子应用(微前端的好处和缺陷),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:什么是微前端,微前端和微服务,无界微前端,微前端microapp官网,qiankun微前端,无界微前端,微前端和微服务,什么是微前端,内容如对您有帮助,希望把文章链接给更多的朋友!

一、了解qiankun.js

qiankun - qiankun

1.1、简单,任意 js 框架均可使用。微应用接入像使用接入一个 iframe 系统一样简单,但实际不是 iframe。

1.2、完备,几乎包含所有构建微前端系统时所需要的基本能力,如 样式隔离、js 沙箱、预加载等。解耦,与技术无关。

1.3、生产可用,已在蚂蚁内外经受过足够大量的线上系统的考验及打磨,健壮性值得信赖。

1.4、qiankun 是一个基于 single-spa 的微前端实现库,旨在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。

1.5、qiankun 孵化自蚂蚁金融科技基于微前端架构的云产品统一接入平台,目前 qiankun 已在蚂蚁内部服务了超过 2000+ 线上应用,在易用性及完备性上,绝对是值得信赖的。

1.6、微前端概念

微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略。

1.7、核心价值:

介绍 - qiankun

1.7.1、技术栈无关:主框架不限制接入应用的技术栈,微应用具备完全自主权

1.7.2、独立开发、独立部署:微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新

1.7.3、增量升级:在面对各种复杂场景时,我们通常很难对一个已经存在的系统做全量的技术栈升级或重构,而微前端是一种非常好的实施渐进式重构的手段和策略

1.7.4、独立运行时:每个微应用之间状态隔离,运行时状态不共享

1.8、特性

1.8.1、基于 single-spa 封装,提供了更加开箱即用的 API。

1.8.2、技术栈无关,任意技术栈的应用均可 使用/接入,不论是 React/Vue/Angular/JQuery 还是其他等框架。可以对老jQuery项目进行升级,老业务不变,新页面使用vue3,这样就好了,目前没有看到相关的资料,看到一些资料是遇到问题的,比如全局变量丢失等,待研究。

1.8.3、HTML Entry 接入方式,让你接入微应用像使用 iframe 一样简单。

1.8.4、样式隔离,确保微应用之间样式互相不干扰。

1.8.5、JS 沙箱,确保微应用之间 全局变量/事件 不冲突。

1.8.6、资源预加载,在浏览器空闲时间预加载未打开的微应用资源,加速微应用打开速度。

1.8.7、 umi 插件,提供了 @umijs/plugin-qiankun 供 umi 应用一键切换成微前端架构系统。

二、安装

yarn add qiankun

npm i qiankun

pnpm add qiankun

只需要在基座项目安装qiankun,子应用不需要安装。 

三、使用,qiankun官网demo

import { loadMicroApp } from 'qiankun';// 加载微应用loadMicroApp({ name: 'reactApp', entry: '//localhost:7100', container: '#container', props: { slogan: 'Hello Qiankun', },});

四、实战

项目实践 - qiankun

4.1、vue3,基座项目/主应用/main-app

4.1.1、创建项目

npm init vue@latest

4.1.2、安装乾坤

pnpm add qiankun

4.1.3、main.ts注册微应用

import { registerMicroApps, addGlobalUncaughtErrorHandler, start } from 'qiankun';// 注册子应用registerMicroApps([ { name: 'subApp', entry: '//localhost:3000', container: '#subAppContainerVue3', // 和app.vue配置的节点 activeRule: '/subAppVue3', // 访问:http://localhost:5174/subAppVue3 props: { mag: '我是主应用main' // 主应用向微应用传递参数 } } // 再有其他子应用,同理]);// 启动 qiankunstart({ prefetch:'all', // 预加载 sandbox: { experimentalStyleIsolation: true, // 开启沙箱模式,实验性方案 },});// 添加全局异常捕获addGlobalUncaughtErrorHandler((handler) => { console.log("异常捕获", handler);});

4.1.4、app.vue创建挂载节点,再有其他子应用,同理

<div id="subAppContainerVue3"></div>

经过测试,主应用成功。

4.2、vue3-vite主应用 接入 vue3-vite子应用

微前端-qiankun:vue3-vite 接入 vue3-vite_snow@li的博客-CSDN博客

4.3、vue3-vite主应用 接入 vue3-webpack子应用

微前端-qiankun:乾坤接入vue3-webpack_snow@li的博客-CSDN博客

4.4、vue3-vite主应用 接入 vue2子应用

微前端-qiankun:vue3-vite 接入 nuxt2_snow@li的博客-CSDN博客

微前端-qiankun:vue3-vite 接入 vue3、nuxt3、vue2、nuxt2等子应用(微前端的好处和缺陷)

4.5、vue3-vite主应用 接入 html子应用

待补充

4.6、vue3-vite主应用 接入 jQuery子应用

不要对 iframe 抱有偏见,它也是微前端的一种实现方式,如果页面上无弹窗、无全屏等操作,iframe 也是很好用的。配置缓存和 cdn 加速,如果是内网访问,也不会很慢。 iframe 和 qiankun 可以并存,jQuery 多页应用使用 iframe 接入就挺好,什么时候什么场景该用哪种方案,具体情况具体分析。

最后,文章有什么问题或错误欢迎指出,谢谢!

微前端方案 qiankun(实践及总结)--摘抄 - 建站教程

jquery项目嵌入vue3框架_jquery vue3_卷大爷的博客-CSDN博客

4.7、vue3-vite主应用 接入 nuxt2子应用

微前端-qiankun:vue3-vite 接入 nuxt2_snow@li的博客-CSDN博客

4.8、nuxt2主应用 接入 nuxt2子应用

微前端-qiankun:nuxt2 接入 nuxt2_snow@li的博客-CSDN博客

4.9、vue3-vite主应用 接入 nuxt3子应用

待补充

4.10、nuxt作为主应用

https://www.cnblogs.com/rain-watcher/p/16938611.html

4.11、当子应用同时作为基座应用时

vue3 + vite + qiankun - 简书

五、过程记录

5.1、子应用qiankun做了样式隔离,父子应用样式隔离可以使用如下方法

默认情况下切换应用会采用动态样式表,加载的时候添加样式,删除的时候卸载样式(子应用之家的样式隔离)

主应用和子应用如何隔离(我们通过BEM规范)->(cssmodules)动态生成一个前缀(并不是完全隔离)

shadowDOM video 标签中的 快进 放大功能 增加全局样式就会有问题

六、乾坤项目服务器部署

所有项目,包括基座项目,业务项目都在服务器可以独立部署。

qiankun从接入到部署(nuxt篇) - 掘金

详细待研究。不能被卡脖子。

七、欢迎交流指正,关注我,一起学习。

 参考链接:

SingleSpa及qiankun入门、源码分析及案例

https://www.cnblogs.com/Mr-Rshare/p/16571760.html

vue3 + vite + qiankun - 简书

Vue3,Vite,TypeScript,Monorepo,qiankun...... Buff叠满,BUG没有_qiankun vue3 vite_web老猴子的博客-CSDN博客

vue3 (三) qiankun+子应用(主应用)_vue3 qiankun_飞天代码的博客-CSDN博客

vue3+阿里乾坤实现主应用和微应用_乾坤微应用_花无缺001的博客-CSDN博客

07. vue3+vite+qiankun搭建微应用前端框架,并接入vue3微应用_vue微应用_qq_29517595的博客-CSDN博客

vue乾坤快速入门_哔哩哔哩_bilibili

微前端qiankun快速入门_哔哩哔哩_bilibili

qiankun从接入到部署(nuxt篇) - 掘金

关于qiankun的使用与部署过程,全详细记录_qiankun打包部署_朝花夕实的博客-CSDN博客

微前端qiankun的源码实现_哔哩哔哩_bilibili

如何设计实现微前端框架-qiankun

看滴普大前端是如何玩转基于“qiankun”(乾坤)的微前端架构的_应用

qiankun.js应用_小三金的博客-CSDN博客_qiankun.js

微前端qiankun的实战_哔哩哔哩_bilibili

GitHub - umijs/qiankun: 📦 🚀 Blazing fast, simple and complete solution for micro frontends.

qiankun - qiankun

GitHub - kakajun/qiankun-vite-test: 技术站: vue3+vite+qiankun+lenar,父应用 vue3(vite),子应用用 vue(webpack) 和 vue3(webpack)和vue3(vite), 可以稍加修改作为中小型应用模板

vue项目落地(qiankun.js)微前端服务 - 知乎

微前端方案 qiankun(实践及总结)--摘抄 - 建站教程

本文链接地址:https://www.jiuchutong.com/zhishi/292398.html 转载请保留说明!

上一篇:Transformers 库的基本使用(transformers document)

下一篇:鸟瞰罗卡附近的Grotta della Poesia,意大利莱切 (© Amazing Aerial Agency/Offset by Shutterstock)(罗卡购物村)

  • 徽采商城入驻需要什么条件(徽采商城怎么入驻准备资料)

    徽采商城入驻需要什么条件(徽采商城怎么入驻准备资料)

  • 小米10支持多少倍变焦(小米10支持多少倍数字变焦)

    小米10支持多少倍变焦(小米10支持多少倍数字变焦)

  • 电脑QQ怎么查自己被多少人特别关心(电脑qq怎么查自己的信息)

    电脑QQ怎么查自己被多少人特别关心(电脑qq怎么查自己的信息)

  • 笔记本电脑插u盘没反应(笔记本电脑插U盘不显示)

    笔记本电脑插u盘没反应(笔记本电脑插U盘不显示)

  • 手机屏幕一半白一半黄(手机屏幕一半白一半灰是什么情况)

    手机屏幕一半白一半黄(手机屏幕一半白一半灰是什么情况)

  • 怎么把图片弄到word上(怎么把图片弄到cad里面去)

    怎么把图片弄到word上(怎么把图片弄到cad里面去)

  • 苹果x突然掉电厉害(苹果手机突然掉电很快)

    苹果x突然掉电厉害(苹果手机突然掉电很快)

  • 抖音上@抖音小助手是什么意思(抖音上抖音小女孩练舞蹈)

    抖音上@抖音小助手是什么意思(抖音上抖音小女孩练舞蹈)

  • 华为mate30滚动截屏怎么用(华为mate30滚动截屏长度设置)

    华为mate30滚动截屏怎么用(华为mate30滚动截屏长度设置)

  • 苹果11有三d按压吗(苹果11有没有3d按压功能)

    苹果11有三d按压吗(苹果11有没有3d按压功能)

  • 华为手机视频全屏怎么设置(华为手机视频全是黑白色怎么回事)

    华为手机视频全屏怎么设置(华为手机视频全是黑白色怎么回事)

  • 换手机了支付宝登录怎么什么记录都没有(换手机了支付宝怎么登录)

    换手机了支付宝登录怎么什么记录都没有(换手机了支付宝怎么登录)

  • 怎样在手机上买票(怎样在手机上买飞机票网上订票)

    怎样在手机上买票(怎样在手机上买飞机票网上订票)

  • windows7回收站是什么区域(windows7中回收站实际上是)

    windows7回收站是什么区域(windows7中回收站实际上是)

  • 手机充电线老松怎么处理(手机充电线老松掉是什么原因)

    手机充电线老松怎么处理(手机充电线老松掉是什么原因)

  • 云服务软件有什么作用(云服务软件有什么好处)

    云服务软件有什么作用(云服务软件有什么好处)

  • 三星a6s用的啥屏幕(三星a6s用的啥屏幕啊)

    三星a6s用的啥屏幕(三星a6s用的啥屏幕啊)

  • 硬盘上的扇区标志在什么时候建立(硬盘上的扇区标志是什么)

    硬盘上的扇区标志在什么时候建立(硬盘上的扇区标志是什么)

  • pdf怎么拆分(pdf怎么拆分成几个部分)

    pdf怎么拆分(pdf怎么拆分成几个部分)

  • 云闪付怎么转账到微信(云闪付怎么转账给自己的另一张卡)

    云闪付怎么转账到微信(云闪付怎么转账给自己的另一张卡)

  • 美团商家不接单会怎样(美团外卖商家不接单怎么办)

    美团商家不接单会怎样(美团外卖商家不接单怎么办)

  • word退格为什么会删字(word退格为什么字会变微软雅黑)

    word退格为什么会删字(word退格为什么字会变微软雅黑)

  • lte和4g哪个快(LTE和4G哪个快)

    lte和4g哪个快(LTE和4G哪个快)

  • vivoy93返回键在哪里(vivoy93怎么设置返回键)

    vivoy93返回键在哪里(vivoy93怎么设置返回键)

  • ftm什么意思(ft=m)

    ftm什么意思(ft=m)

  • directxset.exe是什么进程 directxset是病毒进程吗(directx/?)

    directxset.exe是什么进程 directxset是病毒进程吗(directx/?)

  • Redux工具包(一) - Redux Toolkit的基本使用(redux-tookit)

    Redux工具包(一) - Redux Toolkit的基本使用(redux-tookit)

  • 出口退税申报的发票无电子信息是什么意思
  • 用现金支付的没有发票怎么办
  • 先包装后销售先销售后包装的消费税处理
  • 国债利息收入要计入应纳税所得额吗
  • 流动负债占比低于50%,是什么结构类型
  • 个税受雇日期以哪个日期
  • 怎么才算小企业
  • 对外销售的材料的成本应计入什么账户
  • 房地产公司预收账款明细科目
  • 工程基建期的工作总结
  • 为员工买的人寿保险怎么做账
  • 购买可供出售金融资产
  • 小规模纳税人附表一怎么填
  • 教育费附加计算公式
  • 公司为员工负担的工资
  • 企业每季度预缴增值税
  • 印花税按主营业务成本计算吗
  • 资产总计与负债和所有者权益总计不一致
  • 劳务派遣差额征税政策
  • 应退税款抵扣欠缴税款
  • 出口退税率怎么算公式是什么
  • 房地产企业的样板房,装修款如何缴纳增值税
  • 1697510710
  • 电脑win10点开始没反应
  • w10电脑很卡
  • 滴滴公司的员工打车要钱吗
  • 历史时间线怎么写
  • 鸿蒙3.0手机适配名单荣耀
  • 什么是工资薪金所得
  • 相见恨晚求下联
  • javascript原生
  • php图片生成视频
  • react usereducer
  • 预付账款借方怎么调平
  • java hash()
  • 改造后的固定资产入账价值
  • 进程 python
  • 应收账款逾期无法偿还
  • 银行存款 会计科目
  • mysql设置uuid
  • 企业开外币户有什么用
  • 政府扶持国有企业
  • 收到费用发票分录
  • 建筑工程老项目开票截止日期
  • 单式记账法缺点是什么
  • 其他权益工具包括交易性金融资产吗
  • 出包方式建造固定资产的成本包括
  • 公司注销退回投资款如何账务处理
  • 不合格品的处理方式一般包括哪些
  • 买车的车
  • 企业法人投资收益交税吗
  • 货款尚未收到属于什么会计科目
  • 怎样才能制作出白瓷
  • mysqladmin ping
  • mysql join 慢
  • mysql与c++相连
  • Python3.6-MySql中插入文件路径,丢失反斜杠的解决方法
  • solaris 安装
  • VMware虚拟机中安装MATE桌面环境
  • linux操作系统百度百科
  • vmware workstation15安装ubuntu
  • centos 虚拟化
  • Mac系统中文件的唯一id
  • linux查看rpm是否安装
  • win7系统IE浏览器一点就闪退
  • win8是怎么样的
  • linux有哪几种安装方式
  • java guns框架
  • jquery操作数组
  • angularjs input
  • 世界坐标转换成屏幕坐标
  • jquery mobile app
  • 公职律师
  • 2021税收分类编码大全
  • 山西税务官网登录
  • 车辆购置税是财行税吗
  • 进项税留抵怎么消化掉
  • 小微企业如何申报增值税
  • 赣州买二手房限购吗
  • 销售土地使用权的税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设