過年前后一段時間,對link庫的代碼進(jìn)行的大量的重構(gòu),代碼精簡了許多,性能也得到了很大的改善,寫此文記錄期間所做的改進(jìn)和重構(gòu),希望對看到此文的js程序員有所幫助。
1. 代碼構(gòu)建
最初代碼使用gulp 結(jié)合concat 等插件組合文件生成庫文件, 現(xiàn)在用的是rollup ,號稱是下一代js模塊打包器, 結(jié)合buble 插件將es6代碼編譯為es5 , 和cleanup插件刪除不必要的注釋和空行。因為后面大部分代碼遷移到了es6和標(biāo)準(zhǔn)的模塊化語法(import ,export) ,使用rollup 會自動分析哪些模塊甚至模塊中的哪個方法是否需要打包入最終的庫文件,這樣后面新建模塊或添加方法,如果后面因為重構(gòu)導(dǎo)致模塊或方法不再使用的時候 ,rollup會使用tree-shaking技術(shù)將其剔除。 對rollup感興趣的可以參考 http://rollupjs.org/
2.類型定義使用es6 class
此前都是使用function結(jié)合prototype定義類型和原型方法,es6 class 其實本身也是function結(jié)合prototype的語法糖,但是使用class 所有原型,靜態(tài),getter,setter都包含在class中,代碼更清晰可讀。
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式