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

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.xdnf.cn/news/16787.html

相关文章:

  • STM32CubeMX 生成时钟获取函数的分析
  • 【网络运维】 Linux:使用 Cockpit 管理服务器
  • 矩阵指数函数 e^A
  • 移动管家手机控车系统硬件安装与软件绑定设置
  • LeetCode 4:寻找两个正序数组的中位数
  • DISTILLM:迈向大型语言模型的简化蒸馏方法
  • 基于React+Express的前后端分离的个人相册管理系统
  • OpenBayes 一周速览丨Self Forcing 实现亚秒级延迟实时流视频生成;边缘AI新秀,LFM2-1.2B采用创新性架构超越传统模型
  • 爱车生活汽车GPS定位器:智能监控与安全驾驶的守护者
  • 云原生环境里的显示变革:Docker虚拟浏览器与cpolar穿透技术实战
  • 新零售“实—虚—合”逻辑下的技术赋能与模式革新:基于开源AI大模型、AI智能名片与S2B2C商城小程序源码的研究
  • RAG:检索增强生成的范式演进、技术突破与前沿挑战
  • pytorch入门2:利用pytorch进行概率预测
  • 智慧城市SaaS平台|市政公用管理系统
  • LeetCode Hot 100 搜索旋转排序数组
  • Java项目:基于SSM框架实现的济南旅游网站管理系统【ssm+B/S架构+源码+数据库+毕业论文+远程部署】
  • Linux系统指令之 —— passwd
  • 【maven】仓库配置
  • 基于 Hadoop 生态圈的数据仓库实践 —— OLAP 与数据可视化(二)
  • 15.10 单机8卡到千卡集群!DeepSpeed实战调参手册:A100训练效率翻倍,百万成本优化实录
  • 【C++详解】深入解析多态 虚函数、虚函数重写、纯虚函数和抽象类、多态原理、重载/重写/隐藏的对⽐
  • composer 常用命令
  • Unity_XR控制手部动画
  • NVIDIA Isaac平台推动医疗AI机器人发展研究
  • C++:STL中list的使用和模拟实现
  • 常见的cms框架的webshell方法
  • JavaScript和小程序写水印的方法示例
  • 谈谈毕业工作一年后的变化
  • 【C语言】指针深度剖析(一)
  • 集成电路学习:什么是Wi-Fi无线保真度