webpack抽离和压缩css文件

11 篇文章 1 订阅

1、为什么要抽离和压缩css文件

在生产环境,css代码必须抽离和压缩,不然打包会把css文件打包到js文件中,体积会比较大。(执行这个js再把css解析出来,塞到html中,这样性能并不好)

2、抽离css文件

在开发环境下,不用抽离css文件,所以对css文件的处理还是常规的loader处理即可

 {
                test: /\.css$/,
                loader: ['style-loader', 'css-loader', 'postcss-loader'] 
            },

在生成环境中,webpack.prod.js文件内

  1. 安装mini-css-extract-plugin插件
  2. 引入插件
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
  1. 抽离css
  {
                test: /\.css$/,
                loader: [
                    MiniCssExtractPlugin.loader,  
                    'css-loader',
                    'postcss-loader'
                ]
            },

在dev的环境中,最后用的是style-loader,
而在prod环境下,不再用 style-loader,而是用MiniCssExtractPlugin.loader。

然后在plugins中,加了一个抽离css文件的插件。
filename,是抽离出来的css文件名(会在指定的打包出口文件夹下生成css文件夹)

  plugins: [
        new MiniCssExtractPlugin({
            filename: 'css/main.[contentHash:8].css'
        })
    ],

3、压缩css文件

  1. 安装两个插件
    terser-webpack-plugin和optimize-css-assets-webpack-plugin
  2. 引入
const TerserJSPlugin = require('terser-webpack-plugin')
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin')
  1. 配置
    optimization于plugins平级
optimization: {
        minimizer: [new TerserJSPlugin({}), new OptimizeCSSAssetsPlugin({})],
    }

css文件压缩后

  1. 变成一行了,空格没了
  2. 注释没了
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值