微前端实现方案对比Qiankun VS npm组件

架构层面:

1、Qiankun是典型的微前端架构,侧重构建多个独立前端应用协同工作的架构,主应用负责自用用的加载、卸载和通信;子应用不限制,可以是VUE、React等;

2、Qiankun松耦合,各个自应用独立开发,测试和部署,互不影响;可以多个团队协同工作

3、NPM组件单应用组件化架构:主要用于单页面应用或者传统前端项目的组件化开发

4、NPM组件和项目紧密集成,组件修改可能会影响整个项目,耦合度较高

技术栈兼容

Qiankun:与技术栈无关

NPM组件:技术栈依赖,除了用JS封装的组件可以通用之外,React封装的组件只能在React中应用,Vue的组件只能在Vue中应用

开发和部署

Qiankun:独立开发部署,不影响其他子应用和主应用,部署比较复杂,主要是自应用和主应用的部署顺序和版本兼容问题

npm组件:开发修改比较繁琐,特别是有嵌套比较深的底层组件,整个改动需要更新嵌套流程的所有npm项目;相对Qiankun部署简单很多,只需要改npm 组件并发布,更新项目中组件版本;

通信方式

Qiankun:通信方式比较丰富,props、全局事件总线等

npm 组件:通信方式比较简单,主要通过组件的属性和事件来实现

适用场景

Qiankun:大型复杂,多团队协作的项目;需要对现有项目进行技术栈升级时,可实现渐进式升级

NPM组件:小型项目和组件复用,小型项目或者代码复用场景

相关推荐
晴天1616 分钟前
多个 VS Code 项目会导致 Chrome 和 Electron 应用一起卡住?-Day30
前端·chrome·electron
BigTopOne7 小时前
【WebRtc】DTLS-SRTP 加密完整流程详解
前端
陈随易7 小时前
pm2 替代品,nodejs&bun 线上部署必备工具
前端·后端·程序员
单线程_017 小时前
从案例分析 Vue3 Tokenizer 源码一
前端·javascript·vue.js
BigTopOne7 小时前
【WebRtc】-ICE Candidate 与 STUN/TURN 原理详解
前端
l1258657 小时前
# LangGraph Memory机制深度解析:短期记忆与长期记忆的工程实践
前端·人工智能·python·langchain·bootstrap
码视野8 小时前
基于 Spring Boot + Vue3 的【大学英语四六级 (CET-4/6) 作文智能评分与句式润色系统】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端·vue3
大模型码小白8 小时前
AI 对话流性能调优:万级消息的虚拟滚动落地
java·大数据·前端·javascript·人工智能·算法·机器学习
xm_xm_xm_19 小时前
react17版本以前类组件常用操作
前端·javascript·react.js
ly76899 小时前
Web 性能优化实战:从 Core Web Vitals 到工程化性能治理
前端·性能优化