加载器实践
HTML处理流程
pug-loader
作用:
安装:npm i -D pug pug-loader
使用:
ejs-loader
vue-loader
CSS处理流程
graph R
style-loader
作用:将css转入成字符串后,注入到javascript代码中,通过javascript想dom增加样式,也可以通过 ExtracTextPlugin 插件,将css抽离为单独文件。
安装:npm i -D css-loader style-loader
使用:
module:{
rules:[{
test:/\.css$/,
use:['style-loader','css-loader'] //右往左解释原则
}]
}
css-loader
作用:找出css代码中@import和rul()的语句,告诉webpack依赖一些资源,同时支持css modules、压缩css等功能,处理完成后再交给stylus-loader处理
安装:npm i -D css-loader style-loader
使用:
module:{
rules:[{
test:/\.css$/,
use:['style-loader','css-loader'] //右往左解释原则
}]
}
postcss-loader
对原生的css代码进行一些额外的处理,像对某些属性添加浏览器前缀、
安装:npm i -D postcss-loader autoprefixer
使用:
module:{
rules:[{
test:/\.css$/,
// postcss-loader 应该放在 sass/less等loader之后
use:['style-loader','css-loader','postcss-loader','stylus-loader']
}]
}
less-loader
作用:编译less为css文件,再交给css-loader处理
安装:npm i -D less less-loader css-loader style-loader
使用:
module:{
rules:[{
test:/\.less$/,
use:['style-loader','css-loader','less-loader'] //从右往左解释原则
}]
}
sass-loader
作用:编译sass为css文件,再交给css-loader处理
安装:npm i -D node-sass sass-loader
使用:
module:{
rules:[{
test:/\.scss$/,
use:['style-loader','css-loader','sass-loader'] //从右往左解释原则
}]
}