偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

微型前端的優(yōu)秀實(shí)踐

開發(fā) 前端
經(jīng)歷在規(guī)模上使用微型前端的優(yōu)勢和痛苦后,我決定記錄這段旅程并分享一些“優(yōu)秀實(shí)踐”。

我總是想知道大型Web應(yīng)用程序是如何建造的!我發(fā)現(xiàn)了秘密的秘密,它成為我的激情。經(jīng)歷在規(guī)模上使用微型前端的優(yōu)勢和痛苦后,我決定記錄這段旅程并分享一些“最佳實(shí)踐”。

這是在設(shè)計(jì)遵循微前端模式的應(yīng)用程序時(shí)的最佳實(shí)踐的自由練習(xí)列表。應(yīng)檢查每個(gè)“規(guī)則”,其福利/缺陷針對您的特定用例評估。

[[393246]]

微前端之間的零耦合

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

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

做✅:

  • 可以在不影響其他微前端的情況下交換的共享庫。
  • 加載所需的所有數(shù)據(jù)呈現(xiàn)。

不要❌:

  • 在不同的微前端具有集中存儲/共享數(shù)據(jù)。
  • 共享積極開發(fā)的庫。

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

每個(gè)微前端都應(yīng)具有自己的代碼庫,并且選擇的版本控制不應(yīng)對項(xiàng)目開發(fā)或部署的方式產(chǎn)生任何影響。在單一的單一或單獨(dú)的存儲庫下?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)該使用語義版本或類似的版本號標(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)樗?ldquo;新”。
  • 您不需要多個(gè)JavaScript框架。
  • 您不需要“微前端框架”。
  • 微前端不必是“Micro”。

原文鏈接:https://medium.com/swlh/rules-of-micro-frontends-7b96c10dde9

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2022-10-20 10:02:16

前端測試開發(fā)

2021-02-20 10:26:00

前端

2020-04-28 16:12:50

前端JavaScript代碼

2009-12-11 10:02:26

2023-07-17 13:57:05

2019-09-17 09:44:45

DockerHTMLPython

2019-11-27 10:55:36

云遷移云計(jì)算云平臺

2023-06-29 00:19:51

2022-03-11 18:30:39

DevOps軟件開發(fā)

2020-11-25 10:26:24

云計(jì)算云安全數(shù)據(jù)

2019-05-07 09:00:40

無服務(wù)器Lambda管理

2021-01-20 10:53:41

云計(jì)算云存儲云遷移

2023-01-13 16:34:08

2021-12-17 14:06:55

云計(jì)算安全工具

2023-07-04 15:56:08

DevOps開發(fā)測試

2021-04-30 23:19:04

前端框架工具

2020-05-25 11:14:59

代碼程序開發(fā)

2024-12-12 09:02:35

2023-02-07 15:33:16

云遷移數(shù)據(jù)中心云計(jì)算

2021-07-06 14:17:16

MLOps機(jī)器學(xué)習(xí)AI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號