新聞中心
前言
2017年是Vue.js大爆發(fā)的一年,React迎來了一個強有力的競爭對手,王者地位受到挑戰(zhàn)(撰寫此文時github上Vue與React的star數量已逼近)。我們團隊這一年有十多個大型項目采用了Vue技術棧,在開發(fā)效率、頁面性能、可維護性等方面都有不錯的收效。 我們希望把這些項目中可復用的功能組件提取出來,給后續(xù)項目使用,以減少重復開發(fā),提高效率,同時也為了致敬前端界“出一個框架,造一遍輪子”的行規(guī), 一個基于Vue 2的移動端UI組件庫被提上日程。
組件庫的開發(fā)過程總的來說還是比較順利的,這里與大家分享一些問題與思考。
腳手架選擇
盡管我們團隊的這些Vue技術棧項目的腳手架大都使用的是webpack,在為組件庫選擇腳手架的時候我們還是在webpack與Rollup中猶豫了一下。
Rollup看起來更適合組件庫的開發(fā),它把所有模塊構建在一個函數內,執(zhí)行效率更高,它支持Tree Shaking,只打包需要的代碼,輸出文件更小(webpack后來也支持了)。但綜合考慮之后,我們還是選擇了webpack作為打包工具。首先,按照規(guī)劃,demo演示和文檔頁面也在這個腳手架中,所以對代碼分割、熱加載等功能是有需求的,而這方面能力Rollup遠不及webpack。另外,這個組件庫由多人開發(fā)維護,基于現有webpack腳手架開發(fā)成本更低、效率更高。選擇webpack,讓我們可以更專注于造輪子。
打包
即便選擇了webpack作為打包工具,我們也并不希望這個庫的使用場景局限在webpack項目中,通過AMD/CMD方式、甚至通過script標簽直接引用等場景都應該得到支持。為了達到這個目的,我們需要在webpack配置文件中設置輸出格式,需要配置的選項是output.libraryTarget,有以下可選值:
“var”(默認值)輸出為一個變量
var MyLibrary = _entry_return_ ;
另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前文章:關于Vue組件庫開發(fā)詳析-創(chuàng)新互聯
網站路徑:http://www.dlmjj.cn/article/heose.html