微前端開發(fā)常見問題匯總
微前端開發(fā)常見問題匯總,前端應用可以獨立運行、獨立開發(fā)、獨立部署。微前端不是單純的前端框架或者工具而是一套架構(gòu)體系。其在開發(fā)中會有各種問題,今天小編整理了一下分享給大家!
1、微前端只是Web端
為什么只是Web?到目前為止我們接觸到的主要是Web,但其概念和想法可以應用于任何類型的應用程序(移動應用、客戶端應用……甚至是CLI工具)微前端只是“插件架構(gòu)”的一個花哨叫法。不過,插件接口如何設(shè)計,以及運行使用插件的應用程序需要具備什么條件就是另外一回事了。 如圖一個非常通用的插件架構(gòu)(來源:OmarElgabry)

該架構(gòu)并沒有在哪里運行的概念。既可以在手機上運行,也能在Windows上運行,甚至還能在服務(wù)器上運行。
2、微前端需要大型團隊
如果解決方案超級復雜,那么我肯定會找一個簡單的。有些問題需要復雜的解決方案,但好的解決方案通常是簡單的。 根據(jù)場景的不同,甚至可能不需要一個分布式團隊。擁有分布式團隊是采用微前端的首要原因之一,但不是唯一原因。另一個很好的理由是特性的粒度。
如果從業(yè)務(wù)的角度來看微前端,那么你就會發(fā)現(xiàn),擁有啟用和關(guān)閉特定特性的能力是很有意義的。針對不同的市場,使用不同的微前端?;氐揭粋€簡單的權(quán)限模式,這是有意義的。不需要編寫代碼來根據(jù)特定條件打開或關(guān)閉某些東西。所有這些都留給公共層,可以根據(jù)(可能是動態(tài)的)條件激活或停用。
不能或不應該使用的代碼也不會被交付。雖然這不應該是一個保護層,但肯定是一個便捷和性能層。用戶不會感到困惑,因為他們看到的是他們能做的。他們看不到?jīng)]有交付的功能,所以沒有字節(jié)浪費在不可用的代碼上。
3、微前端無法調(diào)試
對于任何類型的實現(xiàn)(或供討論的底層架構(gòu)),開發(fā)經(jīng)驗都可能遭到削弱。應對這種情況的唯一方法是開發(fā)人員優(yōu)先。實現(xiàn)中的第一原則應該是:使調(diào)試和開發(fā)成為可能。采用標準的工具。有些微前端框架根本不接受這一點。有些需要在線連接、專用環(huán)境、多重服務(wù)等,這不應該是標準也絕不是常態(tài)。
4、微服務(wù)需要微前端(或反過來)
解耦的模塊化后端可能為解耦前端打下了一個很好的基礎(chǔ),但通常情況下,情況并非如此。后端單體,前端模塊化,也是完全可行的,例如,為簡化個性化可能就要結(jié)合授權(quán)、權(quán)限和市場。 同樣,微服務(wù)后端并不能證明適合將類似的模式應用于前端。許多微服務(wù)后端都是由單用途的應用程序操作的,們的功能沒有增加,只是外觀發(fā)生了改變。
5、微前端需要單存儲庫
要創(chuàng)建一個微前端解決方案,就需要利用單存儲庫,最好使用像Lerna這樣的工具。我不認可這一點。當然,單存儲庫有一些優(yōu)點,但也有明顯的缺點。雖然有一些微前端框架需要聯(lián)合CI/CD構(gòu)建,但大多數(shù)都不需要。聯(lián)合CI/CD構(gòu)建通常會導致單存儲庫,因為其設(shè)置要簡單得多。但對我來說,這是單體重新打包。如果你在單存儲庫上進行聯(lián)合構(gòu)建,那么你就失去了讓微前端富有吸引力的兩個非常重要的優(yōu)點獨立部署和獨立開發(fā)
如果你看到微前端解決方案需要單存儲庫:那樣做就行。一個精心設(shè)計的單體系統(tǒng)可能會更好,不會有分布式系統(tǒng)的所有問題。
以上就是關(guān)于微前端開發(fā)常見問題和誤區(qū)的介紹希望能幫到您。