前端微服務化解決方案2-使用必要性

bybailiang發表於2020-12-13

繆斯某團隊使用Vue2.0框架開發前端頁面。

2019年初上線產品,截止2020年下半年生產上有業務7大型別,頁面281個,打包後大小為180+MB。 隨著時間的增長,產品逐漸出現以下現象:

  1. 大部分都是業務邏輯豐富圖片靜態資源元件繁多的頁面。

  2. 業務中引入了大量的腳手架

  3. 專案錯綜複雜,前後有多批人馬進行開發,造成了目前專案各種資源型別混亂,元件可複用性低,靜態資源龐大,垃圾元件越來越多。

前端Vue專案的高速增長使得專案出現了編譯慢打包慢上線慢等亟待解決的問題。

目前產品主要弊端有:

  • 編譯太慢。專案中頁面多,資源大。如果所有頁面全部編譯,沒有3分鐘絕對編譯不完。(這還是在開發過程中每次都儲存頁面)
  • 打包速度太慢,我一個同事的macbook air打包速度是在半小時左右。有好多新來的同事第一次打包都會跑來問,是不是死掉了,為什麼停住不動了。(我的電腦算是所有人最快的,但是也需要10分鐘+)
  • 上線風險高。前端Vue工程是每次整體打包,全量上線。網上有一句話說“不要把雞蛋放在一個籃子裡”。打包如果沒有專人維護,所以可能會造成有的功能莫名其妙被影響,開發人員就算再小心也有錯提,誤刪的情況發生,影響其他業務。
  • 工程和打包後的體積越來越大,不符合敏捷迭代思想。Vue工程資源越來越多,170MB+、200MB+乃至300MB+,如果不做下線和清理,專案就會變的不可維護。
我們的工程組織結構 正常的工程組織結構

從 顏色 和 模組數量 上就可以發現,我們的專案很大,是不健康的。

通過對繆斯產品的分析,然後結合網際網路提出的中小型企業所面臨的問題。
梳理出 vue-module-pro 需要解決以下問題:

  • 獨立部署 : 每一個模組可單獨部署,顆粒度可小到某一個單頁面的獨立部署,不對其他模組有任何影響
  • 擴充套件 : 每一個微模組可以獨立橫向擴充套件以滿足業務伸縮性,與資源的不必要消耗
  • 風險降低 : 通過“將雞蛋放在多個籃子裡”的方式降低業務風險。每次只需要操作對應的微模組,其他微模組不受影響
  • 複雜度可控 : 每一個UI業務元件歸屬每一個微模組,避免程式碼巨無霸,高效並且降低複雜度,便於維護同時提升開發效率
  • 相互通訊 : 全域性可以進行通訊,微模組間的元件可以相互引用。

vue-module-pro 作為一款高效能的 前端微服務化 解決方案,能夠解決上述的所有問題。
同時,融入了目前網際網路上Vue的最新思想和設計理念,取其精華、去其糟粕。
解決了生產問題 ,融入了新的設計思想和理念 ,開發了多種實用的前端工具 ,同時對 公司舊框架可以平滑升級 。
任何人都能快速上手本專案。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章