您好,登錄后才能下訂單哦!
這篇文章主要介紹“什么是微型前端”,在日常操作中,相信很多人在什么是微型前端問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”什么是微型前端”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
什么是微前端
Martin Fowler將微前端架構定義為“一種獨立可交付前端應用程序被組成的建筑風格”。簡單地,微前端是網頁的一部分(不是整頁)。在微前端架構中,有一個“主機”或“容器”頁面,可以托管一個或多個微前端。主機/容器頁面還可以共享一些自己的微前端組件。
例如,正如我們在先前的文章中實現的那樣,我們將按鈕組件從MFE1頁面暴露到MFE2(主機/容器)中
或者在
http://mfe1.s3-website-us-east-a.amazonaws.com/在本文中部署到S3
微型前端架構由3個主要組件組成:
微前端(在上一個示例中,MFE1的按鈕是微前端)
主機/容器(在前面的示例中,MFE2是主機)
微型框架:我們使用了WebPack 5模塊聯合插件
為什么微型前端?
引入了微前端架構以解決當前SPA前端開發的多個問題。我經歷了單個網站的增長,以至于它變得非常難以擴大,修改甚至培訓新工程師成為其中的一部分。通過這種單片系統,開發人員將彼此封鎖,以應用一個小變化。以下是微型前端的一些好處:
團隊可擴展性:多個團隊可以獨立工作以貢獻多個系統。這使我們能夠將工作劃分并通過多個團隊縮放。
單一責任:這將允許每個團隊構建單一責任的組件。托管團隊可以專注于分析,性能和每個功能團隊可以專注于客戶。兩支球隊可以在其特定領域獲得100%。主頁團隊可以在創建大型主頁上關注100%。每個微型前端團隊將焦點100%的微觀前端的功能。
可重用性:我們將能夠在多個地方使用代碼。將構建和部署一個組件,不同的團隊可以重新使用它。
技術不可知論:微型前端架構獨立于技術。您可以使用來自不同技術的組件(JavaScript,React,Vue,Angular …)。您不必擔心部署或構建它們。
學習曲線:對于加入團隊的新工程師,更容易學習較小的應用程序,而不是了解具有數千行代碼線的巨石。
如何實施微型前端?
微前端的主要是主機/容器和微前端之間的集成。有三種方法可以整合微型前端
構建時集成
這是今天實施的大部分代碼。容器將將組件安裝為庫,類似于您從NPM安裝的庫。此方法的問題正在同步圖書館的不同版本和構建問題。此外,很難使用不同的技術。此外,最終包的大小將很大,因為它包含所有依賴項。此外,您必須再次部署依賴性的任何更改。而且,容器和所有微前端之間存在緊密的耦合。
運行時集成
這是我在以前的文章中解釋的。在這種情況下,容器是單獨構建和部署的。每個微前端都可以作為單獨的包裝作為一個單獨的包裝,即容器/主機可以獲取所需的微前端。有關此方法的更多解釋,請參閱本文末尾的文章列表。在這種情況下,容器和微前端完全取耦合。它們不共享構建或部署,并可以使用不同的技術。容器可以決定要部署的微前端版本。
服務器端集成
在這種情況下,所有功能都將在確定要加載的微前端的后端中。服務器將決定將該請求路由到的URL。這是一個標準的服務器端構圖。
到此,關于“什么是微型前端”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。