一、 Loader
上一節咱們講了webpack的一些基本認識及概念,接下來咱們繼續探索webpack的 Loader,那麼何爲Loader?它的做用是什麼?node
- Webpack 自己只能處理 JavaScript 模塊,若是要處理其餘類型的文件,就須要使用 loader 進行轉換。
- Loader 能夠理解爲是模塊和資源的轉換器,它自己是一個函數,接受源文件做爲參數,返回轉換的結果。這樣,咱們就能夠經過
require
來加載任何類型的模塊或文件,好比 CoffeeScript、 JSX、 LESS 或圖片。
1.1 Loader的特性
- Loader 能夠經過管道方式鏈式調用,每一個 loader 能夠把資源轉換成任意格式並傳遞給下一個 loader ,可是最後一個 loader 必須返回 JavaScript。
- Loader 能夠同步或異步執行。
- Loader 運行在 node.js 環境中,因此能夠作任何可能的事情。
- Loader 能夠接受參數,以此來傳遞配置項給 loader。
- Loader 能夠經過文件擴展名(或正則表達式)綁定給不一樣類型的文件。
- Loader 能夠經過
npm
發佈和安裝。
- 除了經過
package.json
的 main
指定,一般的模塊也能夠導出一個 loader 來使用。
- Loader 能夠訪問配置。
- 插件能夠讓 loader 擁有更多特性。
- Loader 能夠分發出附加的任意文件。
1.2 Loader 自己也是運行在 node.js 環境中的 JavaScript 模塊,它一般會返回一個函數。
Loader 能夠在 require()
引用模塊的時候添加,也能夠在 webpack 全局配置中進行綁定,還能夠經過命令行的方式使用。webpack