草庐IT

修复微前端无界[wujie]子应用window属性值在初始化后不再变化的问题

问题部分的组件库(例如antd)使用到了window.innerWidth和window.innerHeight属性,可无界框架在初始化时仅将主应用的innerWidth和innerHeight属性赋值给子应用,后续不管主应用如何变化,子应用的这两个属性无法跟随变化,也就导致子应用使用的这些组件库表现异常。解决方式1借用作者在交流群中的说明,使用Object.defineProperty重写对应属性的getter即可故在此借助无界的插件系统,可以按照下面的方式(重写getter)进行属性指向修正。不只是innerWidth和innerHeight,其他属性也可以这样处理。importWujie

无界,wujie的使用

vue2 使用wujie的具体步骤主应用使用了vue2+webpack,子应用使用了vue2+webpack。安装 #vue2框架npmiwujie-vue2-S#vue3框架npmiwujie-vue3-S2,引入 在main.js中引入1,在src下创建hostMap.js//这里就不写公司的应用域名了,用百度做例子,到时候把自己子应用的域名写上就行了constmap={//子应用的测试环境'http://localhost:1025':'http://localhost:1025',//dev-baidu.baidu.cn/',//子应用的预发环境'http://localhost:10

微前端:无界wujie简单上手

背景之前用过了微前端框架qiankun并剖析了其原理,今天我们来试试另一个同样厉害的微前端框架无界,本文只是讲如何使用,原理部分后面再更新。无界支持多种项目的接入,如react、vue等普通项目如果你项目是react、vue可以直接用wujie-vue2、wujie-vue3、wujie-react,但是这些也是基于下面的内容封装的,所以建议看一下,我后面都会讲到1、安装npmiwujie-Simport{bus,setupApp,preloadApp,startApp,destroyApp}from"wujie";2、初始化(非必须)在项目入口处设置子应用的参数,更多参数请看这里setupA

无界(wujie)微前端实现及三种通信方式介绍

一、对比之前介绍过前段时间比较流行的微前端框架qiankun,虽然实现了微前端的理念,但是也暴露出很多缺点,比如官网上讲到的四点:基于路由匹配,无法同时激活多个子应用,也不支持子应用保活改造成本较大,从webpack、代码、路由等等都要做一系列的适配css沙箱无法绝对的隔离,js沙箱在某些场景下执行性能下降严重无法支持vite等ESM脚本运行而wujie利用iframe来实现js沙箱能力,有效的解决了上述问题:组件方式来使用微前端不用注册,不用改造路由,直接使用无界组件,化繁为简一个页面可以同时激活多个子应用子应用采用iframe的路由,不用关心路由占用的问题天然js沙箱,不会污染主应用环境不

无界(wujie)微前端实现及三种通信方式介绍

一、对比之前介绍过前段时间比较流行的微前端框架qiankun,虽然实现了微前端的理念,但是也暴露出很多缺点,比如官网上讲到的四点:基于路由匹配,无法同时激活多个子应用,也不支持子应用保活改造成本较大,从webpack、代码、路由等等都要做一系列的适配css沙箱无法绝对的隔离,js沙箱在某些场景下执行性能下降严重无法支持vite等ESM脚本运行而wujie利用iframe来实现js沙箱能力,有效的解决了上述问题:组件方式来使用微前端不用注册,不用改造路由,直接使用无界组件,化繁为简一个页面可以同时激活多个子应用子应用采用iframe的路由,不用关心路由占用的问题天然js沙箱,不会污染主应用环境不