2019-2020年前端最火的技术之一:微前端

微前端究竟是什么?

微前端是近三年前端社区比较火的技术方案,试图把拆分大型后端系统的一些益处引入前端

微前端就是将不同的功能按照不同的维度拆分成多个子应用。通过主应用来加载这些子应用。

微前端的核心在于, 完后再!

微前端,即前端微服务。是将前端应用分解成一些更小、更简单的能够独立开发、测试、部署的小块,而在用户看来仍然是内聚的单个产品。

微前端主要解决的问题:

1)毫无相关的业务,独立部署,降低运维成本。 (独立业务拆离)

2)团队人员逐渐增多,产品功能复杂,代码冲突频繁、影响面大,需独立部署。 (独立模块拆离)

3)在业务中,运行比较稳定,运维不频繁的项目部分,需独立部署。 (稳定业务拆离)

4)架构比较老但运行比较稳定的项目部分,近期不计划重构的,需独立部署。(独立架构拆离)

微前端特点: 独立开发、独立部署、独立运行、增量升级(单个服务升级)。

微前端方案正确的架构姿势应用之间不应该有任何直接或间接的技术栈、依赖、以及实现上的耦合。

Single-spa微前端方案结合了MPA和SPA的优势,可以在单个页面内集成多个应用。

技术栈无关

独立部署每一个单页面应用

新功能使用新框架,旧的单页应用不用重写可以共存

改善初始加载时间,延迟加载代码

qiankun示例

微前端拆离工具:qiankun

主应用配置:

1.安装乾坤

$ yarn add qiankun # 或者 npm i qiankun –S

2.注册微服务

I.自动注册

// 在主应用中注册子应用

II.手动注册

import { loadMicroApp } from 'qiankun';

name跟container需要名称不一致。

3.子应用访问

I.跨域

devServer: {
headers: {// 重点1: 允许跨域访问子应用页面
  ‘Access-Control-Allow-Origin’: ‘http://localhost:7100’,//设置多域名,逗号隔开
},

子应用配置:

I.main.js配置

II.路由配置

import '../../public-path'    // 重点3: 引入public-path文件

router里面添加

主子应用传参:

主应用:

import { initGlobalState } from "qiankun“

const actions = initGlobalState(state);
actions.onGlobalStateChange((state, prev) => {
  // state: 变更后的状态; prev 变更前的状态
  console.log(state, prev);
});
actions.setGlobalState(state);
actions.offGlobalStateChange();

子应用:

export function mount(props) {

props.onGlobalStateChange((state, prev) => {

// state: 变更后的状态; prev 变更前的状态

console.log(state, prev);

});

props.setGlobalState(state);

}

微前端-乾坤qiankun相关推荐

  1. 微前端——乾坤qiankun Demo

    微前端--qiankun(乾坤)实例 一.什么是微前端 微前端就是将不同的功能按照不同的维度拆分成多个子应用.通过主应用来加载这些子应用.微前端的核心在于拆,拆完后在合! 二.为什么使用微前端 不同团 ...

  2. 深入浅出解析阿里成熟的微前端框架 qiankun 源码【图文并茂】

    来源:leaf(a1029563229 ) https://github.com/a1029563229/blogs/blob/master/Source-Code/qiankun/1.md 本文将针 ...

  3. 深入浅出解析阿里成熟的微前端框架 qiankun 源码

    本文将针对微前端框架 qiankun 的源码进行深入解析,在源码讲解之前,我们先来了解一下什么是 微前端. 微前端 是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的 ...

  4. 微前端—乾坤 初体验

    昨天新建了两个项目,上手体验了一下微前端乾坤,感觉很神奇,但官网教程似乎对新手不大友好,上手完以后感觉很简单,但中间过程实在繁琐,各种报错和百度,今天上班摸鱼,记录一下全部过程,方便日后操作. 1.乾 ...

  5. 目标是最完善的微前端解决方案 - qiankun 2.0

    距  qiankun 开源已过去了 11 个月,距上次官方  发声 已过去 8 个月. Announcing qiankun@2.0 2019 年 6 月,微前端框架 qiankun 正式发布了 1. ...

  6. 微前端乾坤js react实践

    微前端乾坤js实践 微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略.解耦团队之间的龚和渡,解耦技术栈的龚和渡,节省团队间沟通成本,解决技术栈之间无法业务打 ...

  7. 万字长文+图文并茂+全面解析微前端框架 qiankun 源码 - qiankun 篇

    写在开头 微前端系列文章: 基于 qiankun 的微前端最佳实践(万字长文) - 从 0 到 1 篇 基于 qiankun 的微前端最佳实践(图文并茂) - 应用间通信篇 基于 qiankun 的微 ...

  8. 微前端框架qiankun项目实战(一)--本地开发篇

    ❝ 作者:黑化程序员 https://juejin.cn/post/6970310177517993998 ❞ 大家好,我是小黑. 公司使用技术栈是vue,最近遇到了一个需求,要把原有后台管理系统的功 ...

  9. 微前端之qiankun

    qiankun 前言 bug qiankun实战 总结 qiankun中的沙箱机制 前言 qiankun 框架是基于single-spa框架的,所以遵循的协议都一样,也是向外暴露三个钩子函数,但是qi ...

最新文章

  1. PhpStorm 快捷键大全
  2. 【转】iphone - ios app maximum memory budget
  3. VTK:Filtering之ProgrammableFilter
  4. 实力打脸: 量子隐形传输与 “瞬间移动” 毫无关系
  5. activemq优先级_ActiveMQ消息优先级:工作原理
  6. c++获取图像的长宽 opencv_【第一篇:C++与opencv】图片的读取和显示 | 学步园
  7. 数据结构的简要介绍:堆栈如何工作
  8. Linux操作系统原理与应用02:内存寻址
  9. zabbix第一篇:zabbix安装及使用
  10. 选择排序之python
  11. java_home not found in your enviroment 问题解决方法
  12. 软件工程-实践者的研究方法第八版(不全)
  13. Qt安装与使用(小白专用教程)
  14. 应用百花齐放,呈现北浙苏沪粤五极格局丨2021年中国区块链产业发展报告产业应用篇...
  15. 热血江湖Java_热血江湖源码+教程
  16. git提交代码的时候未获取最新代码
  17. 喜欢是可以培养的,学习也是
  18. 机器学习 k-近邻算法
  19. 腾讯移动互联网事业群(MIG)综合分析
  20. C++控制台贪吃蛇小游戏详细教程

热门文章

  1. js获取滚动条的高度
  2. 多导睡眠扫描术PSG
  3. JavaSE-多线程(二)
  4. 第十二周 小学生计算能力测试
  5. 《数据结构》-第六章 图(习题)
  6. 盘点一个使用Python实现Excel中找出第一个及最后一个不为零的数,它们各自在第几列
  7. 【题库】上海学校心理咨询-普通心理学-考点解析 5.2 记忆系统
  8. php被遗忘的一些功能强大的字符串处理函数
  9. linux重定向stderr,在Bash和其他Linux Shell中将stderr重定向到stdout的方法
  10. pytorch优化器详解:RMSProp