首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
uml
hook
process
vba
version
testing
config
timestamp
lua
actionscrip
audio
hashcode
format
nodejs
buffer
metadata
cmd
golang
split
less
keyword
python3
hash
chat
match
yaml
list
substring
ascii
blob
random
node.js
instance
spring
callback
install
usb
integer
regex
hashset
solr
case
const
require
tree
controller
join
dagger
uri
jar
stream
text
grid
bytecode
httprequest
get
sum
range
input
java
runtime
typescript
emoji
dll
function
bit
javascript
subset
object
copy
search
settings
shell
erlang
byte
import
request
vbscript
replace
当前位置:
开发笔记
>
编程语言
> 正文
关于前端:17个可以实现微前端的方案
作者:骏马奔腾09 | 来源:互联网 | 2023-09-23 09:57
一、微前端计划思路在前端技术畛域已有如下几种成熟的实现微前端的思维:基于接口协议:子利用依照协定导出几个接口,主利用在运行过程中调用子利用导出的这
一、微前端计划思路
在前端技术畛域已有如下几种成熟的实现微前端的思维:
基于接口协议:子利用依照协定导出几个接口,主利用在运行过程中调用子利用导出的这几个接口
基于沙箱隔离:主利用创立一个隔离环境,让子利用根本不必思考本人是在什么环境下经营,依照一般的开发思路进行开发即可
基于模块协定:主利用把子利用当作一个模块,和模块的应用形式无异
二、微前端实现的几种形式
在前端技术畛域已有如下几种形式落地施行:
路由散发:开发成本低,保护成本低,可行性高,不限技术栈,实现简略
iFrame:开发成本低,保护成本低,可行性高,不限技术栈,实现简略
利用微服务化:开发成本高,保护成本低,可行性中等,不限技术栈,实现难
微件化:开发成本中等,保护老本中等,可行性低,有技术栈限度,实现难
微利用化:开发成本中等,保护老本中等,可行性高,有技术栈限度,实现较难
纯 Web Components:开发成本高,保护成本低,可行性高,不限技术栈,实现简略
联合 Web Components:开发成本高,保护成本低,可行性高,不限技术栈,实现简略
三、17个实现微前端的框架简介
1. Single-Spa:最早的前端微服务 Javascript 框架,兼容多种前端技术栈
基于Single-Spa,阿里系开源微前端框架,
是一个将多个单页面利用聚合为一个整体利用的 Javascript 微前端框架,
在同一页面上应用多个前端框架,而不必刷新页面,
不限技术栈,
反对独立部署每一个单页面利用,
新性能应用新框架,旧的单页利用不必重写能够共存,
无效改善初始加载工夫,提早加载代码,
文档地址:https://zh-hans.single-spa.js…
2. Qiankun:基于Single-Spa,阿里系开源微前端框架
阿里飞冰微前端框架,兼容多种前端技术栈,
基于 single-spa 封装,提供了更加开箱即用的 API,
不限技术栈,
HTML Entry 接入形式,让你接入微利用像应用 iframe 一样简略,
款式隔离,确保微利用之间款式相互不烦扰,
JS 沙箱,确保微利用之间全局变量/事件不抵触,
资源预加载,在浏览器闲暇工夫预加载未关上的微利用资源,减速微利用关上速度,
umi 插件,提供了 @umijs/plugin-qiankun 供 umi 利用一键切换成微前端架构零碎,
文档地址:https://qiankun.umijs.org/zh/…
3. Icestark:阿里飞冰微前端框架
后盾比拟扩散,体验差异大,因为要频繁跳转导致操作效率低,心愿能对立收口的一个零碎内,
单页面利用十分宏大,多人合作老本高,开发/构建工夫长,依赖降级回归老本高,
不限技术栈,
零碎有二方/三方接入的需要,
文档地址:https://micro-frontends.ice.w…
4. Alibaba Cloud Alfa 是在阿里云控制台体系中孵化的微前端计划,定位是面向企业级的微前端体系化解决方案
不限技术栈,
开箱即用,无代码侵入,
欠缺的微前端体系撑持,
残缺的前端容器沙箱,
多实例兼容,
文档地址:https://alfajs.io/
5. Module Federation:是 Zack Jackson 创造的 Javascript 架构,Zack Jackson 随后提出为其创立一个 Webpack 插件。
是webpack给出的微前端计划,
使 Javascript 利用能够动静运行另一个 Javascript 利用中的代码,同时能够共享依赖,
依赖主动治理,能够共享 Host 中的依赖,版本不满足要求时主动 fallback 到 Remote 中依赖,
共享模块粒度自在掌控,小到一个独自组件,大到一个残缺利用。既实现了组件级别的复用,又实现了微服务的基本功能,
共享模块非常灵活,模块中所有组件都能够通过异步加载调用,
文档地址:https://webpack.js.org/concep…
6. FrintJS:用于构建可伸缩和响应式应用程序的模块化 Javascript 框架
加载来自不同 bundlers 的应用程序,为应用程序提供构造,并解决诸如路由、依赖关系等问题,
通过附加的软件包反对 RN 和 Vue,但文档和测试大多数是针对 React 的,
文档地址:https://frint.js.org/
7. Bit:将独立的组件构建、集成和组合到一起和治理前端
具备传统单体式前端的安全性和健壮性,
介接入形式简略、可伸缩性强,
通过 简略的解耦代码库、自治团队、小型定义良好的 API、独立的公布管道 和 继续增量降级,加强工作流程,
文档地址:https://bit.dev/docs/quick-start
8. PuzzleJS:用于可扩大和疾速建站的微前端框架
SEO 敌对,在服务端进行筹备和渲染,
当片段所需的 api 呈现故障时,PuzzleJs 可保障其余页面片段仍失常工作,
文档地址:https://github.com/puzzle-js/…
9. Mooa:基于Angular的微前端服务框架
兼容多种前端技术栈,
构建插件化的 Web 开发平台,满足业务疾速变动及分布式多团队并行开发的需要,
构建服务化的中间件,搭建高可用及高复用的前端微服务平台,
反对前端的独立交付及部署,
文档地址:https://github.com/phodal/mooa
10. ngx-planet:一个弱小、牢靠、欠缺、齐全可用于生产环境的 Angular 微前端库
只反对 Angular 框架,不反对其余 MV* 前端框架,
反对同时渲染多个子利用,
反对并存(coexist)和默认(default)两种模式, 默认模式切换其余子利用销毁以后子利用,并存模式不会销毁,而是暗藏,
反对子利用的预加载,
反对款式隔离,
内置多个利用之间的通信,
反对跨利用组件的渲染,
欠缺的示例,蕴含路由配置、懒加载等所有性能,
文档地址:https://github.com/worktile/n…
11. Ara Framework:Ara 是一个应用Airbnb 的 Hypernova轻松开发和集成微前端的框架
技术栈自在,
架构灵便,
文档地址:https://ara-framework.github….
12. Micro-app:是京东批发推出的基于类WebComponent进行渲染,从组件化的思维实现的微前端技术
应用简略,接入微前端成本低,
零依赖,
兼容所有框架(不须要提供脚手架工具),
提供了JS沙箱、款式隔离、元素隔离、预加载、资源地址补全、插件零碎、数据通信等一系列欠缺的性能,
https://zeroing.jd.com/
13. Piral:基于 React 的微前端,指标是让你能够应用微前端轻松构建门户应用程序
渐进迁徙,
共享库,
共享现有布局和程序框架,
文档地址:https://github.com/smapiot/piral
14. OpenComponent:指标是“前端世界中的无服务器”,旨在成为一个一站式微前端框架,从而使其成为一个丰盛而简单的零碎,其中包含从组件解决到注册表、再到模板、甚至包含 CLI 工具
同构小单元代码,
组件化渲染利用页面,
文档地址:https://github.com/opencompon…
15. Liugi:是一个微前端 Javascript 框架,你能够应用它创立由本地和分布式视图驱动的治理用户界面
容许 Web 应用程序与应用程序蕴含的微前端进行通信,
能够配置路由、导航、受权和 UX 元素等设置,
文档地址:https://github.com/SAP/luigi
16. Mosaic:是一组服务,库以及标准定义了其组件之间如何彼此交互,用来反对大型网站的微服务式架构
应用了片段(Fragments)的机制,这些片段由独自的服务程序提供服务,并依据模板定义在运行时组合在一起,
由一堆软件包组成,这些软件包解决不同的问题,例如路由、布局、模板存储、甚至展现 UI,
文档地址:https://www.mosaic9.org/
17. SystemJS:不是微前端框架,但它的确为跨浏览器的独立模块治理提供了解决方案
使咱们无需依赖本机浏览器反对,即可应用与 JS 模块相干的不同性能,诸如动静导入和导入映射等,并且所有这些都具备靠近本机的性能,
提供便捷的形式拜访其“模块注册表”,以便你随时理解浏览器中哪些模块是可用的,
文档地址:https://github.com/systemjs/s…
四、抉择微前端计划的时候须要思考是否解决好以下10个问题
微利用的注册、异步加载和生命周期治理;
微利用之间、主从之间的音讯机制;
微利用之间的平安隔离措施;
微利用的框架无关、版本无关;
微利用之间、主从之间的公共依赖的库、业务逻辑(utils)以及版本怎么治理;
微利用独立调试、和主利用联调的形式,疾速定位报错(发射问题);
微利用的公布流程;
微利用打包优化问题;
微利用专有云场景的出包计划;
渐进式降级:用微利用计划平滑重构老我的项目。
编程
php
iframe
微服务
web
java
ip
https
js
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
config
探索阿里巴巴的开源世界
从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ...
[详细]
蜡笔小新 2024-11-21 09:06:54
config
秒建一个后台管理系统?用这5个开源免费的Java项目就够了
秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ...
[详细]
蜡笔小新 2024-11-12 03:21:33
config
优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ...
[详细]
蜡笔小新 2024-11-09 16:13:27
yaml
大厂Java研发岗位面试总结与资料分享
本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ...
[详细]
蜡笔小新 2024-11-20 19:00:01
blob
华为鲲鹏平台适配的Redis Docker镜像构建指南
本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ...
[详细]
蜡笔小新 2024-11-19 15:04:08
config
MIT 6.824 实验笔记:MapReduce 开发指南
本文详细记录了 MIT 6.824 课程中 MapReduce 实验的开发过程,包括环境搭建、实验步骤和具体实现方法。 ...
[详细]
蜡笔小新 2024-11-18 12:05:23
list
.NET Core 微服务内部通信:Thrift与HTTP客户端性能对比
本文通过基准测试(Benchmark)对.NET Core环境下Thrift和HTTP客户端的微服务通信性能进行对比分析。基准测试是一种评估系统或组件性能的方法,通过运行一系列标准化的测试来衡量其表现。 ...
[详细]
蜡笔小新 2024-11-15 12:35:23
list
python解决CSF布料模拟滤波的批处理问题(解决获取多个点云数据las数据)
解决问题:1、批量读取点云las数据2、点云数据读与写出3、csf滤波分类参考:https:github.comsuyunzzzCSF论文题目ÿ ...
[详细]
蜡笔小新 2024-11-12 11:32:15
list
Spring Cloud 学习指南:初学者入门篇
Spring Cloud 学习指南:初学者入门篇 ...
[详细]
蜡笔小新 2024-11-11 12:40:04
list
Spring Cloud 路由网关深度解析:Zuul 的核心功能与应用场景
本文深入解析了Spring Cloud路由网关Zuul的核心功能及其典型应用场景。通过对方志朋老师教材的学习和实践,详细探讨了Zuul在微服务架构中的重要作用,包括请求路由、过滤器链管理以及服务动态扩展等关键特性。同时,结合实际案例,展示了Zuul在高并发和复杂业务场景下的应用优势,为读者提供了全面的技术参考。 ...
[详细]
蜡笔小新 2024-11-05 13:50:19
list
Golang TLS双向认证中的DoS漏洞深度解析(CVE-2018-16875)
如果程序使用Go语言编写并涉及单向或双向TLS认证,可能会遭受CPU拒绝服务攻击(DoS)。本文深入分析了CVE-2018-16875漏洞,探讨其成因、影响及防范措施,为开发者提供全面的安全指导。 ...
[详细]
蜡笔小新 2024-11-03 13:21:54
process
企业应用BPM系统的基本概况与优势解析
近年来,BPM(业务流程管理)系统在国内市场逐渐普及,多家厂商在这一领域崭露头角。本文将对当前主要的BPM厂商进行概述,并分析其各自的优势。目前,市场上较为成熟的BPM产品主要分为两类:一类是综合型厂商,如IBM和SAP,这些企业在整体解决方案方面具有明显优势;另一类则是专注于BPM领域的专业厂商,它们在特定行业或应用场景中表现出色。通过对比分析,本文旨在为企业选择合适的BPM系统提供参考。 ...
[详细]
蜡笔小新 2024-11-02 15:47:50
process
华为云HECS:高效能云服务器助力中小企业智能化转型
华为云凭借其强大的技术创新能力和广泛的服务网络,持续为用户提供高效、稳定、安全的云计算解决方案。本文将深入探讨华为云HECS云服务器如何通过集成智能技术,帮助中小企业实现业务的快速部署与优化。 ...
[详细]
蜡笔小新 2024-11-19 11:37:49
list
mysql 授权!!
为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ...
[详细]
蜡笔小新 2024-11-18 17:34:42
list
CPU风扇不转导致无法开机,常见原因及解决方法
某用户在尝试开机时发现,系统未能正常启动,开机键短暂亮起后熄灭,且未听到CPU风扇的运转声音。本文将探讨CPU风扇不转的原因,并提供相应的解决方法。 ...
[详细]
蜡笔小新 2024-11-18 12:47:41
骏马奔腾09
这个家伙很懒,什么也没留下!
Tags | 热门标签
uml
hook
process
vba
version
testing
config
timestamp
lua
actionscrip
audio
hashcode
format
nodejs
buffer
metadata
cmd
golang
split
less
keyword
python3
hash
chat
match
yaml
list
substring
ascii
blob
RankList | 热门文章
1
无IP模拟实验——探索神秘的幻方世界
2
使用 requests.post 方法向 URL 上传 JSON 数据时遇到连接被拒绝错误
3
如何有效阻止已被设为黑名单的手机号继续发送短信骚扰?
4
JavaScript中随机数生成的常见问题与解决方案
5
解决单页面中多个 Highcharts 图表显示冲突的问题
6
【数据恢复案例】Linux EXT3文件系统中Oracle数据库因误操作导致的数据恢复实践分析
7
在JavaScript中实现电子邮件和密码的输入验证 - Implementing Input Validation for Email and Password in JavaScript
8
J19 集合对象详解:深入理解与应用
9
CNC编程初学者指南:从零开始学习CNC编程的视频教程
10
掌握三大技巧,轻松将三大运营商手机号码设置为无效状态
11
校园活动综合管理平台
12
如何配置网络端口转发以实现高效通信
13
利用 React Hooks 实现随机颜色生成的详细指南
14
在非MFC项目中集成和应用MFC库的功能与优势
15
掌握 esrally 三步骤:高效执行 Elasticsearch 性能测试任务
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有