1、image-webpack-loader 是依赖于 imagemin-pngquant,则必须要按顺序安装
npm install imagemin-pngquant --save-dev
npm install image-webpack-loader --save-dev
2、安装 compression-webpack-plugin
如果安装太高的版本,则会报错
可安装 下面的版本
3、在vue.config.js 配置
const CompressionPlugin = require("compression-webpack-plugin")chainWebpack: config => {// 解决ie11兼容ES6config.entry('main').add('babel-polyfill')// 开启图片压缩config.module.rule('images').test(/\.(png|jpe?g|gif|svg)(\?.*)?$/).use('image-webpack-loader').loader('image-webpack-loader').options({ bypassOnDebug: true })// 开启js、css压缩if (process.env.NODE_ENV === 'development') {config.plugin('compressionPlugin').use(new CompressionPlugin({test:/\.js$|\.html$|.\css/, // 匹配文件名threshold: 10240, // 对超过10k的数据压缩deleteOriginalAssets: false // 不删除源文件}))}},transpileDependencies: ['biyi-admin', // 指定对第三方依赖包进行babel-polyfill处理]
4、打包后的对比
(1)压缩后的
(2)压缩前
5、后端配合linux
在html加上
gzip on; gzip_static on;gzip_buffers 4 16k;gzip_comp_level 5;gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;