20211214
微前端
什么是微前端
搞微前端目的就是要将产品原子化,由庞大的应用体系拆分为多个模块,再根据客户业务场景进行组合。每个功能模块能单独迭代,自由集成。
微前端不是框架,不是工具/库,而是一套架构体系,它包括若干库,工具,中心化的治理平台及相关配套设施
微前端中的应用隔离
隔离问题分为主应用和微应用,微应用间进行Javascript执行环境隔离,css样式隔离
css样式隔离
主应用和微应用同屏渲染会造成风格相互污染的问题,解决方法如下:
[] CSS模块或命名空间,给每个微应用模块一个特定的前缀。
[]命名空间用法:声明您的XHTML文档类型:
!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN '
http://www . w3 . org/TR/XHTML 1/DTD/XHTML 1-strict . DTD '
html xmlns=' http://www . w3 . org/1999/XHTML ' XML : lang=' en ' lang=' en '
在样式文件中,定义CSS规则的默认命名空间:
@ namespace ' http://www . w3 . org/1999/XHTML ';
@ namespace SVG ' http://www . w3 . org/2000/SVG ';
有了上面的说法。您只能出于支持向量机的原因应用CSS规则:
svg|a { color:白色;}
web pack的[]postss插件,打包时添加特定前缀。
B.微应用之间的隔离:每次加载应用时,都会对应用上的所有链接和样式内容进行标记,然后在卸载应用时就可以卸载标记的链接和样式。
Javascript隔离
使用沙盒机制
核心是:在本地Javascript运行时,可以控制对外部对象的访问和修改,即无论内部JavaScript如何运行,都不会影响外部对象。
[]节点环境,使用虚拟机模块
[]在浏览器环境中,需要将with关键字和窗口结合起来。代理对象来实现浏览器端的沙盒。
Decorator装饰器
介绍
[]有点类似于装饰图案,一种在不改变原有类的情况下,利用继承来动态扩展对象功能的设计理论。
[]本质上是一个普通函数,用于扩展类的属性和方法。
[]特点和优势:
[]代码可读性更强,decorator的名称类似于注释。
[]在不更改原始代码的情况下扩展原始函数。
[]简单示例:
[ ]
用法
[]分类包括:类的装饰和类属性的装饰。
[] # # #类装饰
[]类物业装修
?接受三个参数:
类的原型对象
要修饰的属性名
装修物业名称描述对象
Promise的值穿透
回答:
奇怪的书。然后或者。catch期望是一个函数,当传入一个非函数时,就会发生值渗透。
当传入的then不是函数时,将返回最后一个promise.data的值,并解析每个无效then返回的promise状态。
Javascript的脚本延迟加载的方式有哪些
推迟
异步非同步(asynchronous)
动态创建DOM
使用setTimeout延迟加载js文件
将js脚本放在文档的底部
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/146458.html