什么是webpack?
Webpack 是德國開發(fā)者 Tobias Koppers 開發(fā)的模塊加載器兼打包工具,他將根據(jù)木塊的依賴關(guān)系進行靜態(tài)分析龄减,然后將這些模塊按照指定的規(guī)則生成對于的靜態(tài)資源。也就是說胁孙,它能把各種資源秒旋,例如JS(含JSX)、coffee沦偎、樣式(含less/sass)、圖片等都作為模塊來使用和處理咳蔚。這些文件處理壓縮成線上的版本豪嚎,壓縮處理后,文件結(jié)構(gòu)變得清晰谈火,僅有一個html和一個js文件侈询。
為什么要使用webpack?
代碼拆分
webpack有兩種組織模塊依賴的方式,同步和異步糯耍。異步依賴作為分割點扔字,形成一個新的塊。在優(yōu)化了依賴樹后温技,每一個異步區(qū)塊都作為一個文件被打包革为。
Loader
webpack本身只能處理原生的Javascriot模塊,但是loader轉(zhuǎn)換器可以將各種類型的資源轉(zhuǎn)化成Javascript模塊舵鳞。它本身是一個函數(shù)震檩,接受源文件作為參數(shù),返回轉(zhuǎn)換的結(jié)果蜓堕。這樣抛虏,我們就可以通過require來加載任何類型的模塊或文件博其,比如coffeeScript、JSX嘉蕾、LESS或圖片贺奠。
智能解析
webpack有一個智能解析器,幾乎可以處理任何第三方庫错忱,無論他們的模塊形式是ComnonJs、AMD還是普通的JS文件挂据。甚至在加載依賴的時候以清,允許使用動態(tài)表達式require("./template/" + name + ".jade")。
插件系統(tǒng)
webpack還有一個功能豐富的插件系統(tǒng)崎逃。大多數(shù)內(nèi)容功能都是基于這個插件系統(tǒng)運行的掷倔,還可以開發(fā)和使用開源的webpack插件,來滿足各式各樣的需求个绍。
快速運行
webpack使用異步I/O和多級緩存提高運行效率勒葱,這使得webpack能夠以令人難以置信的速度快速增量編譯。
怎樣使用webpack?
點擊webpack學習筆記- 入門篇具體查看