webpack优化构建体积示例-压缩css:

css-loader用来解析.css文件,将之转换成commjs模块
style-loader用来将css注入到dom中
尽管css-loader和style-loader提供将css导入到js并注入到dom的功能,但webpack默认并不负责压缩css,

css-minimizer-webpack-plugin只处理分离出来的CSS文件,
所以当CSS代码嵌入到JavaScript中时,它不会被该插件压缩。
您应该使用MiniCssExtractPlugin来将CSS提取到单独的文件中,
然后css-minimizer-webpack-plugin才会对这些文件进行压缩。
src/index.js
import './style.css'

let a = 1;

src/style.css
.main {
    background-color: red;
    /* testcss */
    font-size: 18px;

}

压缩前

// webpack.config.js
const cssMinimizerPlugin = require('css-minimizer-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); 

module.exports = {
    entry: './src/index.js',
    output: {
        filename: 'main.js',
    },
    mode: 'production',
    module: {
        rules: [{
            test: /\.css$/i,
            use: [
                 MiniCssExtractPlugin.loader, // 提取CSS到单独文件  
             'css-loader']
        }]
    },
    plugins: [  
        new MiniCssExtractPlugin({  
            filename: '[name].[contenthash].css', // 输出的CSS文件名  
        }),  
    ], 
    optimization: {
        minimize: true,
        minimizer: [
             // 默认情况下,不需要配置minimizerOptions
            new cssMinimizerPlugin({
                minimizerOptions: {
                    preset: ['default', {
                        // cssnano配置项
                        discardComments: {
                            removeAll: true,//丢弃所有注释
                        }
                    }]
                },
            })
        ]
    }
}

在这里插入图片描述

压缩后

// webpack.config.js
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); 

module.exports = {
    entry: './src/index.js',
    output: {
        filename: 'main.js',
    },
    mode: 'production',
    module: {
        rules: [{
            test: /\.css$/i,
            use: [
                 MiniCssExtractPlugin.loader, // 提取CSS到单独文件  
             'css-loader']
        }]
    },
    plugins: [  
        new MiniCssExtractPlugin({  
            filename: '[name].[contenthash].css', // 输出的CSS文件名  
        }),  
    ], 
}

在这里插入图片描述

通过对比可以看到压缩css, 文件减小了35字节

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值