阿里巴巴服務端的模塊加載器:StyleCombine
styleCombine 提供了一套促成更徹底的應用模塊化開發與性能自動化保障的解決方案,并創新性的提出了服務端的模塊加載器的構建思路,是降低前端開發成本,提升應用性能和可維護性的利器,目前已經在阿里巴巴中文站全站得到廣泛的應用。
功能介紹
styleCombine 是一個服務器端的模塊加載器,它能夠幫助我們實現以下功能:
-
將 HTML 頁面上的多個 js/css 請求自動地合并成一個請求,發送給 combo 服務器。 --- 促進應用模塊化架構
-
對于入口的 AMD/CMD 模塊,能夠自動解析出模塊的深層依賴關系,并將所依賴文件及頁面上的其它 js 文件合并為一個請求發送。 --- 自動提取、無需配置
-
對 HTML 頁面中每個 js/css 鏈接都會根據文件內容自動地添加版本號后綴,js/css 內容更新將觸發版本號的實時更新,使得瀏覽器端緩存或 CDN 緩存能夠強制失效。 --- 降低 CDN 部署成本
與瀏覽器端的模塊加載器(requireJS、seaJS )不同,以上所有的工作都發生在服務器端,是對 html 源碼的直接改變,能夠做到瀏覽器端加載器所不能完成的功能,并取得更好的加載性能,故稱之為服務器端的模塊加載器。
系統構成
styleCombine 主要由三大部分組成:
-
安裝在應用服務器上的 apache/nginx 模塊。
-
運行在靜態資源服務器上的 NodeJS 依賴解析服務 VersionCenter。
-
接收 combo URL 請求的 Tengine 服務器。
系統的正常運作需要以上三大模塊的配合使用,請分參照每個模塊自己的配置文檔進行安裝。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!