一、CSS
css-loader 会对 @import 和 url() 进行处理,就像 js 解析 import/require() 一样。
1. 安装
npm i style-loader css-loader -D npm i mini-css-extract-plugin -D npm i postcss postcss-loader postcss-preset-env -D // Css兼容性处理
2. 配置
const MiniCssExtractPlugin = require("mini-css-extract-plugin") // 将css单独打包 module.exports = { module: { rules: [ { test: /.css$/i, // 匹配后缀为css的文件进行处理 use: [ // loader执行顺序:从右到左(从下到上) MiniCssExtractPlugin.loader, // "style-loader", // 将js中的css通过创建style标签的方式添加到html中 "css-loader", // 将css资源编译为commonJs的模块到js中 { loader: "postcss-loader", options: { postcssOptions: { plugins: [ 'postcss-preset-env' ] } } } ] } ] }, plugins: [ new MiniCssExtractPlugin({ filename: '命名' }) ] };
二、Less
webpack 将 Less 编译为 CSS 的 loader。
1. 安装
npm i less less-loader -D
2. 配置
module.exports = { module: { rules: [ { test: /.less$/i, use: [ MiniCssExtractPlugin.loader, // 'style-loader', 'css-loader', 'less-loader', ], }, ], }, };
三、 SASS|SCSS
将 sass-loader 、css-loader 与 style-loader 进行链式调用,可以将样式以 style 标签的形式插入 DOM 中。
1. 安装
npm i sass sass-loader -D
2. 配置
module.exports = { module: { rules: [ { test: /.s[ac]ss$/i, use: [ MiniCssExtractPlugin.loader, //'style-loader', 'css-loader', 'sass-loader', ], }, ], }, };
四、Stylus
一个 webpack 的 Stylus loader。将 Stylus 文件编译为 CSS
1. 安装
npm i stylus stylus-loader -D
2. 配置
module.exports = { module: { rules: [ { test: /.styl$/, use: [ MiniCssExtractPlugin.loader, // 'style-loader', 'css-loader', "stylus-loader", // 将 Stylus 文件编译为 CSS ] } ], }, };