成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五分鐘技術趣談 | 淺談微前端

移動開發
前端即網站前臺部分,運行在PC端,移動端等瀏覽器上展現給用戶瀏覽的網頁。隨著互聯網技術的發展,HTML5,CSS3,前端框架的應用,跨平臺響應式網頁設計能夠適應各種屏幕分辨率,合適的動效設計,給用戶帶來極高的用戶體驗。隨著時間的推移,前端往往會越來越臃腫,隨著技術棧的更新、UI的多元化、定制化的需求開發以及更多的不可預知的原因使得項目越來越難維護。因此,微前端概念橫空出世。

Part 01  什么是微前端  

微前端是一種多個團隊通過獨立發布功能的方式來共同構建現代化web應用的技術手段及方法策略。

微前端借鑒了微服務的架構理念,將一個龐大的前端應用拆分為多個獨立靈活的小型應用,每個應用都可以獨立開發、獨立運行、獨立部署,再將這些小型應用聯合為一個完整的應用。微前端既可以將多個項目融合為一,又可以減少項目之間的耦合,提升項目擴展性,相比一整塊的前端倉庫,微前端架構下的前端倉庫傾向于更小更靈活。微前端的架構如下:

圖片

Part 02  特性  

- 技術棧無關

主框架不限制接入應用的技術棧,子應用可自主選擇技術棧。

- 獨立開發/部署

各個團隊之間倉庫獨立,單獨部署,互不依賴。

- 增量升級

當一個應用龐大之后,技術升級或重構相當麻煩,而微應用具備漸進式升級的特性。

- 獨立運行時

微應用之間運行時互不依賴,有獨立的狀態管理。

- 提升效率

應用越龐大,越難以維護,協作效率越低下。微應用可以很好拆分,提升效率。

Part 03  目前可用的微前端方案 

微前端的方案目前有以下幾種類型:

  • 基于iframe完全隔離的方案

作為前端開發,我們對iframe已經非常熟悉了,在一個應用中可以獨立運行另一個應用。它具有顯著的優點:

1.非常簡單,無需任何改造;

2.完美隔離,JS、CSS都是獨立的運行環境;

3.不限制使用,頁面上可以放多個iframe來組合業務。

當然,缺點也非常突出:

1.無法保持路由狀態,刷新后路由狀態就丟失;

2.完全的隔離導致與子應用的交互變得極其困難,只能采用postMessage方式;

3.iframe中的彈窗無法突破其本身;

4.整個應用全量資源加載,加載太慢;

這些顯著的缺點也催生了其他方案的產生。

  • 基于single-spa路由劫持方案

single-spa是社區公認的主流方案,可以基于它做二次開發。

通過劫持路由的方式來做子應用之間的切換,但接入方式需要融合自身的路由,有一定的局限性。

  • 阿里qiankun

qiankun對single-spa做了一層封裝。主要解決了single-spa的一些痛點和不足。通過import-html-entry包解析HTML獲取資源路徑,然后對資源進行解析、加載。

qiankun可以用于任意js框架,微應用接入像嵌入一個iframe系統一樣簡單。qiankun@2.0將跳出route-based的微前端場景。

- 優點

1.阿里團隊開發維護,文檔多。

2.基于single-spa封裝,提供了更加開箱即用的API。

3.HTML Entry接入方式,讓你接入微應用像使用iframe一樣簡單。

4.樣式隔離,確保微應用之間樣式互相不干擾。

5.JS沙箱,確保微應用之間全局變量/事件不沖突。

6.資源預加載,在瀏覽器空閑時間預加載未打開的微應用資源,加速微應用打開速度。

7.umi插件,提供了@umijs/plugin-qiankun供umi應用一鍵切換成微前端架構系統。

8.兼容IE11。

- 缺點

1.上線部署文檔較少。

2.qiankun只能解決子項目之間的樣式相互污染,不能解決子項目的樣式污染主項目的樣式。

  • 京東micro-app方案

京東micro-app并沒有沿襲single-spa的思路,而是借鑒了WebComponent思想,通過CustomElement結合自定義的ShadowDom,將微前端封裝成一個webComponents組件,從而實現微前端的組件化渲染。

Part 04、微前端實踐  

以qiankun為例,構建一個微前端。

?? 主應用(vue)

1、安裝qiankun

圖片

2、修改 main.js

圖片

3、router頁面配置加載微應用

修改主應用router.js

圖片

在About.vue文件中加入

圖片

圖片

4、如果在vue-admin模板中使用qiankun,需要注意的是:<div id="container"></div> 不能寫在頁面中,只能寫在Appmain.vue 中,路由需要配置重定向。

圖片

判斷改變路由。

圖片

AppMain.vue,需要判斷顯示的是哪個微應用,改變其id顯示。

圖片

微應用(vue)

1、在src目錄新增public-path.js:

圖片

2、main.js修改。

圖片

3、打包配置修改(vue.config.js):

圖片

責任編輯:龐桂玉 來源: 移動Labs
相關推薦

2023-07-23 18:47:59

Docker開源

2023-07-02 16:34:06

GPU虛擬化深度學習

2024-12-18 14:10:33

2023-09-02 20:22:42

自動化測試軟件開發

2023-09-03 19:06:42

2023-08-06 07:05:25

Android優化

2023-07-16 18:49:42

HTTP網絡

2023-07-02 16:09:57

人工智能人臉識別

2023-07-02 16:17:31

VR虛擬現實

2023-09-12 07:10:13

Nacos架構

2023-07-31 08:55:15

AI技術網絡暴力

2023-07-12 15:50:29

機器學習人工智能

2023-08-29 06:50:01

Javamaven

2023-08-07 06:39:03

網絡傳輸

2023-07-12 16:03:37

Android開發架構

2023-08-15 14:46:03

2023-09-17 17:51:43

Android 14

2023-08-06 07:00:59

Openstack網絡

2023-08-06 06:55:29

數字可視化物聯網

2023-07-12 16:13:01

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩三级免费网站 | 久久精品二区 | 99tv| 中文字幕 亚洲一区 | 久久精品二区亚洲w码 | 国产日韩欧美一区 | 亚洲电影一区 | 男女激情网站免费 | 亚洲视频在线播放 | 一片毛片| 国产精品久久久久久妇女6080 | xx视频在线观看 | 久久精品无码一区二区三区 | 日韩中文字幕网 | 亚洲人成人一区二区在线观看 | 日韩三极| 国产一区二区三区四区 | 日韩欧美视频免费在线观看 | 午夜一区二区三区 | 91精品在线观看入口 | 日韩中文一区 | 亚洲天堂精品一区 | 一区中文字幕 | 久草青青草 | 久久久蜜臀国产一区二区 | 欧美激情一区二区 | 国产伦精品一区二区三区照片91 | 国产精品一区二区三区在线 | 成人h视频 | 精品福利av导航 | 亚洲一级淫片 | 免费在线观看黄色av | 超碰在线播 | 在线免费视频一区 | 91久久国产综合久久 | 日韩精品极品视频在线观看免费 | 黄频视频| 国产精品不卡一区 | 久久精品小视频 | 色综合久久天天综合网 | 毛片网站在线观看视频 |