webpack -- 代码压缩

Posted zjh-study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack -- 代码压缩相关的知识,希望对你有一定的参考价值。

一、代码压缩坑

正常情况下,如果我们配置生成环境,webpack会自动帮js压缩,必须配置--mode=production

scripts: {
    "build": "webpack --mode-production"
}

但是如果我们要把css也压缩的话,问题就来了,css压缩

npm install optimize-css-assets-webpack-plugin --save-dev
npm install cssnano --save-dev

调用

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

plugins: [
    new OptimizeCssWebpackPlugin({
        test: /\.css$/g,
        cssProcessor: cssnano,
        cssProcessorOptions: {discardComments: {removeAll: true;}}, // 这一句似乎是移除所有注释
        canPrint: true
    })
],
optimization: {
    minimizer: [new OptimizeCssWebpackPlugin({})]
}

用了css压缩后,我们发现,js不压缩了,这是需要使用插件uglifyjs-webpack-plugin

npm install uglifyjs-webpack-plugin --save-dev

调用

const UglifyJSWebpackPlugin = require('uglifyjs-webpack-plugin')

plugins: [
    new UglifyJSWebpackPlugin()
]

注意,这样虽然能行,但是看网上,好像这个跟css一样,也要在optimization的minimizer数组里面

以上是关于webpack -- 代码压缩的主要内容,如果未能解决你的问题,请参考以下文章

webpack 代码优化压缩方法

webpack各类压缩

用webpack的UglifyJsPlugin怎样压缩一个全是函数的js文件

webpack 之压缩js代码 和html文件

webpack 之压缩js代码 和html文件

webpack 如何配置 CSS抽取 和 打包压缩