码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • webpack5 Image Minimizer减少图片体积提升打包构建速度


    ImageMinimizerWebpackPlugin | webpack 中文文档​​​​​​ 


    仓库代码下载地址https://gitee.com/zhouyunfang_admin/webpack5-base/tree/webpack-advanced/

    为什么使用Image Minimizer

    开发如果项目中引用了较多图片,那么图片体积会比较大,将来请求速度比较慢。

    我们可以对图片进行压缩,减少图片体积。

    注意:如果项目中图片都是在线链接,那么就不需要了。本地项目静态图片才需要进行压缩。

    Image Minimizer是什么

    image-minimizer-webpack-plugin: 用来压缩图片的插件

    npm i image-minimizer-webpack-plugin imagemin -D

    还有剩下包需要下载,有两种模式选其一:

    无损压缩

    npm install imagemin-gifsicle imagemin-jpegtran imagemin-optipng imagemin-svgo -D

    有损压缩

    npm install imagemin-gifsicle imagemin-mozjpeg imagemin-pngquant imagemin-svgo -D

     webpack.config.js(生产模式)

    1. const ImageMinimizerPlugin = require("image-minimizer-webpack-plugin");
    2. module.exports = {
    3. module: {
    4. rules: [
    5. {
    6. test: /\.(jpe?g|png)$/i,
    7. type: "asset",
    8. },
    9. ],
    10. },
    11. optimization: {
    12. minimizer: [
    13. // 压缩图片
    14. new ImageMinimizerPlugin({
    15. minimizer: {
    16. implementation: ImageMinimizerPlugin.imageminGenerate,
    17. options: {
    18. plugins: [
    19. ["gifsicle", { interlaced: true }],
    20. ["jpegtran", { progressive: true }],
    21. ["optipng", { optimizationLevel: 5 }],
    22. [
    23. "svgo",
    24. {
    25. plugins: [
    26. "preset-default",
    27. "prefixIds",
    28. {
    29. name: "sortAttrs",
    30. params: {
    31. xmlnsOrder: "alphabetical",
    32. },
    33. },
    34. ],
    35. },
    36. ],
    37. ],
    38. },
    39. },
    40. }),
    41. ]
    42. }
    43. };
    1. 打包时会出现报错:
      1. Error: Error with 'src\images\1.jpeg': '"C:\Users\86176\Desktop\webpack\webpack_code\node_modules\jpegtran-bin\vendor\jpegtran.exe"'
      2. Error with 'src\images\3.gif': spawn C:\Users\86176\Desktop\webpack\webpack_code\node_modules\optipng-bin\vendor\optipng.exe ENOENT

     我们需要安装两个文件到 node_modules 中才能解决, 

    • jpegtran.exe
    • 资源下载地址https://download.csdn.net/download/qq_40190624/87034341

    需要复制到 node_modules\jpegtran-bin\vendor 下面

    jpegtran.exe官网地址http://jpegclub.org/jpegtran/ 

    • optipng.exe

    需要复制到 node_modules\optipng-bin\vendor 下面

    optipng.exe官网地址

    optipng.exe上传的资源也可以下载

    https://download.csdn.net/download/qq_40190624/87034308https://download.csdn.net/download/qq_40190624/87034308

  • 相关阅读:
    Ps:预览调整 32 位 HDR 图像
    设计模式常见面试题
    离散数学 --- 二元关系 --- 关系的性质和关系的闭包
    【从零开始学习 SystemVerilog】2.10、SystemVerilog 数据类型—— Associative Array(关联数组)
    操作系统四大特征
    线程的创建方式
    OCR技术:解决图片转excel表格的方案与技巧
    Process Monitor 进程监控器 exe监控 windows程序监控
    基于Python实现语法分析
    Rust Yew应用开发的事件初探
  • 原文地址:https://blog.csdn.net/qq_40190624/article/details/127886151
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号