溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微型前端的實(shí)現(xiàn)方法

發(fā)布時(shí)間:2021-10-13 15:15:08 來源:億速云 閱讀:253 作者:iii 欄目:web開發(fā)

本篇內(nèi)容主要講解“微型前端的實(shí)現(xiàn)方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“微型前端的實(shí)現(xiàn)方法”吧!

微型前端的實(shí)現(xiàn)方法

微前端之間的零耦合

為了實(shí)現(xiàn)這種架構(gòu)的好處,應(yīng)盡可能避免意外耦合;這將解鎖微前端模式必須提供的靈活性和可擴(kuò)展性以及通過允許占用申請部分的升級(jí)或?qū)淼耐暾貙憗硖鎿Q您的應(yīng)用程序的未來證明。

每個(gè)微前端應(yīng)該能夠在隔離或容器應(yīng)用中呈現(xiàn)。所需的數(shù)據(jù)應(yīng)由每個(gè)微前端加載并避免數(shù)據(jù)瀑布。

做?:

  • 可以在不影響其他微前端的情況下交換的共享庫。

  • 加載所需的所有數(shù)據(jù)呈現(xiàn)。

不要?:

  • 在不同的微前端具有集中存儲(chǔ)/共享數(shù)據(jù)。

  • 共享積極開發(fā)的庫。

單獨(dú)的代碼基礎(chǔ)

每個(gè)微前端都應(yīng)具有自己的代碼庫,并且選擇的版本控制不應(yīng)對(duì)項(xiàng)目開發(fā)或部署的方式產(chǎn)生任何影響。在單一的單一或單獨(dú)的存儲(chǔ)庫下?lián)碛兴许?xiàng)目都很好。

做?:

  • 使用單一代碼倉 monorepos。

  • 使用單個(gè) repos。

每個(gè)微前端應(yīng)獨(dú)立部署

每個(gè)微型前端都有它自己的CI /  CD管道,并且能夠在沒有其他微前端的任何依賴項(xiàng)的情況下部署到生產(chǎn)。應(yīng)該避免的常見的反模式是“地獄的部署隊(duì)列”,其中不同的微前端如此緊密地耦合,它們需要以特定順序部署,以避免打破應(yīng)用程序。

做?:

  • 具有單獨(dú)的CI / CD管道。

  • 按需發(fā)布。

不要?:

  • 有發(fā)布時(shí)間表。

  • 具有允許以前版本的增量/順序部署。

微前端應(yīng)獨(dú)立測試

因?yàn)樾枰獑为?dú)的微前端以及容器應(yīng)用程序內(nèi)部呈現(xiàn),因此還可以使用單位和整個(gè)方案的集成測試測試它們是有意義的。

做?:

  • 為隔離的每個(gè)微前端渲染具有單位和集成測試。

  • 在容器應(yīng)用程序中運(yùn)行微前端渲染的集成測試作為端到端測試的一部分。

微前端應(yīng)該是有版本的

當(dāng)一個(gè)新的微前端被部署到生產(chǎn)時(shí),不應(yīng)刪除以前的版本,并且應(yīng)該使用語義版本或類似的版本號(hào)標(biāo)記新版本。由容器應(yīng)用程序決定要使用(管理)的特定微前端或始終使用最新版本(Evergreen)的特定版本。

做?:

  • 使用語義版本化。

  • 使用特定版本或“最新”。

不要?:

  • 需要全局部署更改版本。

  • 刪除以前的版本。

最小的溝通

微前端之間的通信應(yīng)盡可能最小,簡單,避免盡可能多的全球狀態(tài)和框架特定的解決方案。

如果兩個(gè)或更多的微前端共享大量消息以提供其最小功能,它們可能太緊密耦合,并且它們可以共享類似的足夠的目的,即它們應(yīng)該被認(rèn)為將它們集成到一個(gè)中。

做?:

  • 保持信息小而簡單。

  • 如果可能的話,避免有狀態(tài)和通信框架。

不要?:

  • 股東。

  • 有不必要的溝通。

CSS應(yīng)該是范圍

來自一個(gè)微前端的CSS不應(yīng)影響其它微前端。

做?:

  • 為您的CSS定義范圍。

  • 使用CSS-IN-JS或命名法庫(如CSS模塊)。

不要?:

  • 使用全局CSS。

最終建議書

做?:

  • 嘗試創(chuàng)建自治團(tuán)隊(duì)。

  • 嘗試安排圍繞業(yè)務(wù)功能的微前端。

  • 可重用性是一個(gè)很好的“副作用”而不是目標(biāo)。

不要?:

  • 不要強(qiáng)制這種架構(gòu)風(fēng)格,因?yàn)樗恰靶隆薄?/p>

  • 您不需要多個(gè)JavaScript框架。

  • 您不需要“微前端框架”。

  • 微前端不必是“Micro”。

到此,相信大家對(duì)“微型前端的實(shí)現(xiàn)方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI