壓縮CSS
CSS體積越小,請求速度也會更快,那麼加載速度就快,使用者看到效果就更快一些,這樣使用者體驗就會更好,是以在代碼上線之前一定要壓縮CSS。
目錄結構沿用上一節
需要下載下傳的插件
optimize-css-assets-webpack-plugin
npm i optimize-css-assets-webpack-plugin -D
步驟
- 引入插件
const OptimizeCssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin')
- 使用插件:
new OptimizeCssAssetsWebpackPlugin()
預設配置足夠,是以不需要修改配置,隻需調用即可
配置檔案
const {
resolve
} = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const OptimizeCssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin')
// 設定node.js環境變量
// process.env.NODE_ENV = 'development'
module.exports = {
entry: './src/js/index.js',
output: {
filename: 'js/built.js',
path: resolve(__dirname, 'build')
},
module: {
rules: [{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
// 修改loader的配置
{
loader: 'postcss-loader',
options: {
ident: 'postcss',
plugins: () => [
// postcss的插件
require('postcss-preset-env')()
]
}
}
]
}]
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html'
}),
new MiniCssExtractPlugin({
// 對輸出的檔案進行重命名
filename: 'css/built.css'
}),
// 壓縮CSS,預設配置足夠,是以不需要修改配置,隻需調用即可
new OptimizeCssAssetsWebpackPlugin()
],
mode: 'development',
devServer: {
contentBase: resolve(__dirname, 'build'),
compress: true,
port: 3000,
open: true
}
}
運作webpack/npx webpack-dev-server後檢視相應css檔案
build->css->built.css

可以看到CSS代碼被壓縮至一行