vue 打包时图片压缩

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兼容ES6
        config.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;
### Vue 项目打包图片压缩 #### 使用 `image-webpack-loader` 进行图片压缩 为了在 Vue 项目打包过程中自动执行图片压缩操作,可以利用 Webpack 的强大功能来集成专门的加载器。具体来说,`image-webpack-loader` 是一种非常有效的解决方案[^4]。 安装所需的依赖项: ```bash npm install imagemin-pngquant --save-dev npm install image-webpack-loader --save-dev ``` 配置 Webpack 来使用此加载器可以在 vue.config.js 文件中完成设置: ```javascript module.exports = { chainWebpack: config => { const types = ['png', 'jpe?g', 'gif', 'svg'] types.forEach(type => { config.module.rule('images') .test(new RegExp(`\\.${type}$`)) .use('image-webpack-loader') .loader('image-webpack-loader') .options({ bypassOnDebug: true, mozjpeg: { quality: 75 }, optipng: { optimizationLevel: 5 }, pngquant: { quality: [0.65, 0.9], speed: 4 } }) .end() }); } }; ``` 这段代码会针对不同类型的图像文件应用相应的优化参数,从而有效地减小最终打包出来的资源体积而不明显影响视觉质量。 通过上述方式,在每次运行生产模式下的构建命令 (`npm run build`) 之前都会先对所有的静态资产中的图片进行一次高效的压缩处理过程[^2]。 #### 压缩效果评估与监控 对于想要进一步了解经过这些措施之后实际取得的效果如何,还可以借助像 webpack-bundle-analyzer 这样的工具来进行可视化的分析报告生成工作,以便直观地查看到各个模块所占用的空间大小变化情况以及整体包尺寸的变化趋势图等有用的信息。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值