配置步骤
- 安装相关插件:
mini - css - extract - plugin
:用于将 CSS 从 JavaScript 中提取出来,生成单独的 CSS 文件,减少加载次数。安装命令:npm install mini - css - extract - plugin --save - dev
。
OptimizeCSSAssetsPlugin
:用于优化和压缩 CSS 资源,提升加载速度。安装命令:npm install optimize - css - assets - plugin --save - dev
。
- Webpack 配置:
- 在 Webpack 的配置文件(一般是
webpack.config.js
)中进行如下配置:
const MiniCssExtractPlugin = require('mini - css - extract - plugin');
const OptimizeCSSAssetsPlugin = require('optimize - css - assets - plugin');
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: [MiniCssExtractPlugin.loader, 'css - loader']
}
]
},
plugins: [
new MiniCssExtractPlugin({
filename: '[name].[contenthash].css',
chunkFilename: '[id].[contenthash].css'
})
],
optimization: {
minimizer: [
new OptimizeCSSAssetsPlugin({})
]
}
};
- 解释:
- 在
module.rules
中,使用MiniCssExtractPlugin.loader
和css - loader
处理 CSS 文件,MiniCssExtractPlugin.loader
负责将 CSS 提取到单独文件。
MiniCssExtractPlugin
插件通过filename
和chunkFilename
指定生成的 CSS 文件的命名规则,[contenthash]
会根据文件内容生成哈希值,便于缓存控制。
- 在
optimization.minimizer
中,使用OptimizeCSSAssetsPlugin
对生成的 CSS 文件进行优化压缩。
常用插件
mini - css - extract - plugin
:核心作用是将 CSS 从打包后的 JavaScript 中抽离成独立文件,使得 CSS 可以并行加载,减少页面首次渲染时间,提高加载速度。同时,便于缓存管理,当 CSS 文件内容未改变时,浏览器可以直接使用缓存的 CSS 文件。
OptimizeCSSAssetsPlugin
:它可以压缩 CSS 文件,去除无用的空格、注释等,减小文件体积,从而加快 CSS 的加载速度。该插件会在 Webpack 构建过程中对生成的 CSS 文件进行优化处理。