天天看点

自动化构建工具——9.webpack压缩css压缩CSS

压缩CSS

CSS体积越小,请求速度也会更快,那么加载速度就快,用户看到效果就更快一些,这样用户体验就会更好,所以在代码上线之前一定要压缩CSS。

目录结构沿用上一节

需要下载的插件

optimize-css-assets-webpack-plugin

npm i optimize-css-assets-webpack-plugin -D
           

步骤

  1. 引入插件

    const OptimizeCssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin')

  2. 使用插件:

    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

自动化构建工具——9.webpack压缩css压缩CSS

可以看到CSS代码被压缩至一行