无界简单使用

这篇具有很好参考价值的文章主要介绍了无界简单使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微前端-wujie

预加载的底层原理

底层使用requestIdleCallback函数
window.requestIdleCallback()方法插入一个函数,这个函数将在浏览器空闲时期被调用,这使开发者能够再主事件循环上执行后台和低优先级工作,而不会影响延迟关键事件,如动画和输入响应,函数一般会按先进先调用的顺序执行(队列),然而,如果回调函数指定了执行超时事件timeout,则有可能为了再超时前执行函数而打乱顺序。可以再空闲回调函数中调用requestIdleCallback(),以便在下一次通过事件循环之前调度另一个回调

浏览器的空闲事件

FPS刷新频率
如果是60FPS 一秒替换60张照片
那一帧就是16.6ms
那这一帧浏览器做了什么呢
第一种情况
1.处理用户事件,就是event例如click,input,change等
2.执行定时器任务
3.执行requestAnimationFrame
4.执行dom的回流与重绘
5.计算更新图层的绘制指令
6.绘制指令合并主线程,如果有空闲时间会执行requestIdleCallback
第二种情况是没有任务执行
浏览器会有50ms空闲时间,这个时间段也会执行requestIdleCallback

react的fabe和requestIdleCallback

react相关人员调研 requestIdleCallback有机会是20ms执行的 这时用户就会觉得卡
所以进行了polyfill
react16使用 postMessage + requestAnimationFrame
为什么不使用setTimeout替换postMessage 因为setTimeout中的0是4ms 而postMessage是0延迟的
react18使用 MessageChannel 实现了 requestIdleCallback的polyfill

MessageChannel

最开始用作通讯

let {port1, port2} = new MessageChannel()

port1.start()
port2.start()
这样两个就可以通讯了
或者使用onmessage 会隐式开启start

port1.onmessage = function (e) {
	console.log('受到了port2的消息', e)
}
port2.onmessage = function (e) {
	console.log('收到了port1的消息',e)
}
port1.postMessage('你好')
port2.postMessage('hello')

e就是MessageChannel的实例

无界中的传参

1.无界的架构,子应用是存放在iframe的,既然是iframe就可以通过window进行通讯
主应用定义一个全局变量

var a = 'test'

子应用通过window.parent.a就可以访问到

const send = () => {
	console.log(alert(window.parent.a))
}

2.通过props给子应用注入参数

<WujieVue "props="{name: 'xxx', age: 18}" url="xxxx" name="vue3"></WujieVue>

子应用可以使用$wujie来获取

window.$wujie.props

3.event.bus
主应用通过bus监听

import {bus} from 'wujie'
bus.$on('vue3', (data) => {
	console.log(data)
})

子应用通过emit触发事件(反之也可以 主应用emit触发子应用on监听)文章来源地址https://www.toymoban.com/news/detail-631103.html

window.$wujie.bus.$emit('vue3', {name: 'xxx', age: 18})

到了这里,关于无界简单使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无界简单使用

    底层使用requestIdleCallback函数 window.requestIdleCallback()方法插入一个函数,这个函数将在浏览器空闲时期被调用,这使开发者能够再主事件循环上执行后台和低优先级工作,而不会影响延迟关键事件,如动画和输入响应,函数一般会按先进先调用的顺序执行(队列),然而,如果

    2024年02月14日
    浏览(35)
  • 建站系列(五)--- 前端开发语言之HTML、CSS、JavaScript

    建站系列(一)— 网站基本常识 建站系列(二)— 域名、IP地址、URL、端口详解 建站系列(三)— 网络协议 建站系列(四)— Web服务器之Apache、Nginx 建站系列(五)— 前端开发语言之HTML、CSS、JavaScript 建站系列(六)— 后端开发语言 建站系列(七)— 常用前后端框架

    2024年02月09日
    浏览(57)
  • 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用

    🐚 作者: 阿伟 💂 个人主页: Flyme awei 🐋 希望大家多多支持😘一起进步呀! 💬 文章对你有帮助👉关注✨点赞👍收藏📂 第一种: var 数组名 = new Array(); 创建一个空数组 第二种: var arr2 = new Array(10); 创建一个定长为10的数组 第三种 var arr3 = new Array(a,b,c); 创建时直接指定元素值

    2023年04月08日
    浏览(65)
  • 3分钟搞懂:JavaScript 和 ECMAScript

    ECMAScript 是 JavaScript 语言的 国际标准 ,JavaScript 是 ECMAScript 的 一种实现 (Adobe ActionScript 和 JScript 同样实现了 ECMAScript)。 ECMAScript 是欧洲计算机制造商协会 ECMA(European Computer Manufacturers Association)发布的浏览器脚本语言标准。它是 262 号标准文件,又叫 ECMA-262。 ECMAScript 定义

    2023年04月22日
    浏览(47)
  • 深入理解 ECMAScript modules:提升你的 JavaScript 技能(六)

    🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_ CSDN 博客专家、23年度博客之星前端领域TOP1 🕠 牛客 高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课 签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你

    2024年02月21日
    浏览(52)
  • 深入理解 ECMAScript modules:提升你的 JavaScript 技能(一)

    🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_ CSDN 博客专家、23年度博客之星前端领域TOP1 🕠 牛客 高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课 签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你

    2024年02月20日
    浏览(44)
  • 微前端(无界)

    前言:微前端已经是一个非常成熟的领域了,但开发者不管采用哪个现有方案,在适配成本、样式隔离、运行性能、页面白屏、子应用通信、子应用保活、多应用激活、vite 框架支持、应用共享等用户核心诉求都或存在问题,或无法提供支持。本文提供一种基于 iframe 的全新微

    2024年02月02日
    浏览(44)
  • 笔记:无界微前端入门

    wujie(无界)是腾讯在 2022 年 7 月推出的微前端框架,下面是腾讯前端团队的原话 无界微前端方案基于 webcomponent 容器 + iframe 沙箱,能够完善的解决适配成本、样式隔离、运行性能、页面白屏、子应用通信、子应用保活、多应用激活、vite 框架支持、应用共享等用户的核心诉求。

    2024年02月15日
    浏览(37)
  • 微前端无界机制浅析

    随着项目的发展,前端SPA应用的规模不断加大、业务代码耦合、编译慢,导致日常的维护难度日益增加。同时前端技术的发展迅猛,导致功能扩展吃力,重构成本高,稳定性低。 为了能够将前端模块解耦,通过相关技术调研,最终选择了无界微前端框架作为物流客服系统解耦

    2024年02月05日
    浏览(41)
  • 前端微服务无界实践

    随着项目的发展,前端SPA应用的规模不断加大、业务代码耦合、编译慢,导致日常的维护难度日益增加。同时前端技术的发展迅猛,导致功能扩展吃力,重构成本高,稳定性低。因此前端微服务应运而生。 1.复杂度可控: 业务模块解耦,避免代码过大,保持较低的复杂度,便于维

    2024年02月06日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包