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数组里面

posted @ 2019-05-13 13:32  不会代码的前端  阅读(1743)  评论(0编辑  收藏  举报