当前位置: 首页 > news >正文

webpack-性能优化

构建速度

优化babel-loader

采取缓存
在这里插入图片描述

IgnorePlugin(避免打包无用代码)

ignorePlugin无法自动识别哪些真的只有到了
需要用户收到排除 然后手动引入
还是需要一些经验使用的
在这里插入图片描述
在这里插入图片描述

noParse(避免重复打包)

已打包过的代码无需重新打包
在这里插入图片描述

happyPack(多进程打包)

在这里插入图片描述
在这里插入图片描述

ParallelUglifyPlugin(多进程压缩js)

  • webpack内置uglify压缩js
  • 开启多进程压缩js 跟happypack同理
  • 在这里插入图片描述

自动刷新【不可用于生产】

注意 开启webpack-dev-server 会自动开启热更新
并且网页全部刷新 会丢失内存和状态
在这里插入图片描述

热更新【不可用于生产】

新代码生效 网页不刷新 内存不丢失
需要自己配置 如何热更新
在这里插入图片描述
在这里插入图片描述

DllPlugin(动态链接库插件)【不可用于生产】

  • 前端框架如 vue React 体积大 构建慢
  • 较稳定,不常升级版本
  • 同版本仅构件一次
  • webpack内置

包含两个文件

  • DllPlugin:打包出dll文件
  • DllReferencePlugin:使用dll文件
    生成Dll
    在这里插入图片描述
    在这里插入图片描述
    然后再开发环境中引入dll文件
    在这里插入图片描述
    配置地址
    在这里插入图片描述
    并且还要忽略掉nodem中代码(好麻烦好费力)
    在这里插入图片描述

产出代码

小图片base64编码

在这里插入图片描述

bundle加哈希

在这里插入图片描述

懒加载

比较大的文件 直接异步加载进来(代码、组件、路由)

  • 提取公共代码
    在这里插入图片描述

IngorePlugin

只引用用的部分

使用CDN加速

会修改所有的url前缀
在这里插入图片描述
在这里插入图片描述

后面打包出来的文件会变成如下前缀
在这里插入图片描述

使用production(mode:XXXX)

  • 自动开启代码压缩
  • Vue React 会自动删掉调试代码(如开发环境的warning)
  • 启动 Tree-Shaking (必须用ES6 Module 才生效)
    仅仅把用到的 打包 没有使用的无用变量会自动筛选掉

ScopeHostiong

避免多个文件打包后 多个函数生成多个作用域
可以将多个函数合并为一个函数
在这里插入图片描述

http://www.lryc.cn/news/604395.html

相关文章:

  • 破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践录
  • 2025年6月电子学会青少年软件编程(C语言)等级考试试卷(二级)
  • C++ 中 NULL 与 nullptr 有什么区别?
  • RAG实战指南 Day 29:RAG系统成本控制与规模化
  • WebRTC核心组件技术解析:架构、作用与协同机制
  • mangoDB面试题及详细答案 117道(071-095)
  • Python深度挖掘:openpyxl与pandas高效数据处理实战指南
  • APM32芯得 EP.27 | 告别IDE,为APM32F411打造轻量级命令行开发工作流
  • 微服务消息队列之——RabbitMQ
  • .NET 10 中的新增功能系列文章2——ASP.NET Core 中的新增功能
  • PostGIS安装与pg_dump/pg_restore排错
  • flutter 记录一个奇怪的问题
  • 在 Mac 上用 Vagrant 安装 K8s
  • InfluxDB 3 数据库命名与创建全攻略:规范、限制与实战指南
  • 《零基础入门AI:传统机器学习核心算法解析(KNN、模型调优与朴素贝叶斯)》
  • GaussDB 数据库架构师(十二) 数据库对象修改审计设置
  • Redis学习------缓存穿透
  • llama factory本地部署常见问题
  • Git版本控制器
  • 人工智能与家庭:智能家居的便捷与隐患
  • gdb调试的限制和配置自动生成core
  • 2023 年 NOI 最后一题题解
  • 【C++篇】哈希扩展:位图和布隆过滤器+哈希切割
  • 【Lambda】flatMap使用案例
  • c++之基础B(第一课)
  • dify离线插件打包步骤
  • 在Trae中使用MoonBit月兔
  • 【编号65】广西地理基础数据(道路、水系、四级行政边界、地级城市、DEM等)
  • 在 Elasticsearch 8.19 和 9.1 中引入更强大、更具弹性和可观测性的 ES|QL
  • Buck的Loadline和DVS区别和联系