webpack5的loader配置小白學(xué)習(xí)篇
loader 用于各類資源的處理
loader用于處理其他類型資源;什么是其他類型?就是各個(gè)類型都行,例如:css,scss,sass,stylus,ts,png,jpg,jpeg,font,svg...你能想到的所有資源都可以通過(guò)此屬性來(lái)處理,包括路徑處理,文件處理,不支持的語(yǔ)言解析都可以通過(guò)這個(gè)處理。
這里我列6個(gè):
babel-loader
ts-loader
css-loader
sass-loader
style-loader
MiniCssExtractPlugin.loader
以上這些都是關(guān)于js和css處理的loader。關(guān)于圖片、字體等其他靜態(tài)資源文件,我再以后的文章中會(huì)給大家介紹到。
js和css相關(guān)的loader
// webpack.config.js
...
module: {
rules: [
{
test: /\.css$/, // 用于匹配文件,可以是字符串或者正則
loader: 'css-loader', // 當(dāng)只有一個(gè)的時(shí)候就用這個(gè)
use: ['style-loader','css-loader',] // 當(dāng)有多個(gè)的時(shí)候就用這個(gè),執(zhí)行順序是從右向左
},
{
test: /\.scss$/, // 用于匹配文件,可以是字符串或者正則
loader: 'css-loader', // 當(dāng)只有一個(gè)的時(shí)候就用這個(gè)
use: [MiniCssExtractPlugin.loader, 'style-loader','css-loader', 'sass-loader'] // 執(zhí)行順序是從右向左
},
{
test: /\.styl$/, // 用于匹配文件,可以是字符串或者正則
loader: 'stylus-loader', // 當(dāng)只有一個(gè)的時(shí)候就用這個(gè)
use: [{
loader: 'postcss-loader', // 如果loader帶有參數(shù),則使用此方式
option: {
name: 'stylus'
},
},'css-loader', 'stylus-loader'] // 執(zhí)行順序是從右向左
}
]
}
...需要注意的是:此前我就已經(jīng)說(shuō)過(guò)css-loader是只吧css文件打包成模塊。并未引用到html文件。因此需要引入到html文件,則需要在css-loader處理后在執(zhí)行style-loader把處理后的css插入到html頁(yè)面內(nèi)使用(既生成一個(gè)style標(biāo)簽插入)。
sass-loader的使用前需要安裝sass/node-sass
MiniCssExtractPlugin.loader其實(shí)也是個(gè)plugin,它可以把樣式文件拎出來(lái)。變成一個(gè)css文件。既代碼分割,樣式分割。
// webpack.config.js
...
module: {},
plugins: [
new MiniCssExtractPlugin({
filename: '[name].min.css', // css名稱
chunkFileName: '[name].chunk_[id].css' // 異步引入的css名稱
})
]
...這個(gè)chunk之前解釋過(guò)這里再加強(qiáng)一下。chunkFileName就是異步引入的css文件。例如:按需加載的css。則就會(huì)走chunkFileName配置的名稱。
以上就是webpack5的loader配置小白學(xué)習(xí)篇的詳細(xì)內(nèi)容,后續(xù)再講plugin屬性,此屬性是最強(qiáng),更多關(guān)于webpack5 loader配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于Mozilla瀏覽器不支持innerText的解決辦法
在各大瀏覽器中,除Mozilla瀏覽器外,幾乎都支持一個(gè)元素的屬性:innerText。我們可以通過(guò)它來(lái)快速獲取某個(gè)元素的內(nèi)的文本。2011-01-01
動(dòng)態(tài)加載圖片路徑 保持JavaScript控件的相對(duì)獨(dú)立性
根據(jù)新界面的要求,需要一部分圖片來(lái)增強(qiáng)日期控件的美觀性。考慮到既要實(shí)現(xiàn)加載圖表的目標(biāo),又要保持控件的獨(dú)立性以便將來(lái)的移植。2010-09-09
學(xué)做Bootstrap的第一個(gè)頁(yè)面
這篇文章主要為大家介紹了學(xué)做Bootstrap的第一個(gè)頁(yè)面,這是學(xué)bootstrap的第一個(gè)頁(yè)面,還有許多需要改進(jìn)的地方,希望大家批評(píng)指正2016-05-05
mapboxgl實(shí)現(xiàn)帶箭頭軌跡線的代碼
這篇文章主要介紹了mapboxgl實(shí)現(xiàn)帶箭頭軌跡線的代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
微信小程序之 catalog 切換實(shí)現(xiàn)解析
這篇文章主要介紹了微信小程序之 catalog 切換實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
js html css實(shí)現(xiàn)復(fù)選框全選與反選
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)復(fù)選框全選與反選,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
bootstrap-table組合表頭的實(shí)現(xiàn)方法
本篇文章主要介紹了bootstrap-table組合表頭的實(shí)現(xiàn)方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09

