前端構建工具Webpack之載入器(loader)
阿新 • • 發佈:2018-12-10
背景
Webpack將js、css之類的檔案統一視為一個模組,而如css這樣的模組,它是不可以直接載入的。
那麼就需要專用的loader了,如:less-loader
。使用起來是相當的方便,只需要在webpack的構建指令碼中指定一個特殊的rules
即可,上程式碼:
安裝
這裡同樣使用npm方式安裝,當然你可以用yarn
或者其他的工具。
npm install less-loader --save-dev
配置
編寫webpack.config.js
檔案:
rules: [
{
test: /\.less$/,
use: ['style-loader' , {
loader: 'less-loader',
options: {
minimize: true
},
}],
}
]
或者簡寫為:
rules: [
{
test: /\.less$/,
use: ['style-loader', 'less-loader?minimize'],
}
]
再或者用更簡單的方式:
require('style-loader!css-loader?minimize!./main.css')
這種方式需要在main.js
原始檔中指定,不過它只適用於較小的專案,而且只有少部分的檔案。因為它也有不方便的地方,就是需要為每個單獨的檔案指定,專案規模一旦變大,這種寫法就變成了惡夢。
問題
為什麼有兩個載入器呢?
先用css-loader
讀取樣式檔案,再由style-loader
將其匯入到js中。
其他
需要說明的是,這裡的test
是指定一個正則表示式,用以匹配對應的檔案。而use
則是針對該型別的檔案使用特殊的loader(載入器)。
By the way,use
內每個載入器都可以使用Url的QueryString引數形式設定對應的規則,如:css-loader?minimize
,表示要開啟css壓縮。