一文读懂Vite和Webpack的区别?

news2025/1/13 15:35:41

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、`webpack`是什么?
  • 二、webpack如何工作?
  • 三、`Vite`是什么?
  • Vite和Webpack的`区别`?


提示:以下是本篇文章正文内容,下面案例可供参考

一、webpack是什么?

webpack是一个基于打包器的构建工具,同一个入口文件的代码会打包成一个Bundle文件
webpack长期以来的一个痛点就是对于大规模应用的应用启动和热更新的速度很慢
webpack
当文件发生变动时,整个js Bundle文件会被webpack重新构建,这也就是为什么使用webpack的大规模应用启动时和热更新时速度慢的原因,造成了用户很差的体验

二、webpack如何工作?

webpack的打包过程:

  • 从一个入口文件开始,基于代码中的所有的import,export,require构建依赖树
  • 编译JS/CSS等相关模块
  • 使用算法排序、重写、连接代码
  • 优化

开发环境的webpack:

  • 打包所有的代码
  • 启动webpack-dev-server托管打包好的代码
  • 启动wbesocket处理热更新HMR

注意:应用规模越大,启动和热更新的代码越慢,即使启动了热更新,每次当代码更新时也需要生产Bundle文件

三、Vite是什么?

vite是旨在提升开发者体验的下一大JavaScript构建工具,核心借助了浏览器的原生ES Modulesesbuild,这样的将代码编译成native code的打包工具
vite

Vite主要由两方面组成:

  1. 一个开发服务器,基于ESM提供丰富的内建能力,比如速度快到惊人的模块热更新HMR
  2. 一套构建指令,使用rollup进行代码的打包,且零配置即可输出用于生产环境的高度优化的静态代码

Vite和Webpack的区别

  • webpack服务器启动速度比vite慢,由于vite启动的时候不需要打包,也就无需分析模块依赖、编译,所以启动速度非常快。当浏览器请求需要的模块时,再对模块进行编译,这种按需动态编译的模式,极大缩短了编译时间,当项目越大,文件越多时,vite的开发时优势越明显
  • vite热更新比webpack快
  • vite在·HRM·方面,当某个模块内容改变时,让浏览器去重新请求该模块即可,而不是像webpack重新将该模块的所有依赖重新编译,
  • vite使用esbuild(Go 编) 预构建依赖,而webpack基于nodejs,比node快 10-100 倍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/557942.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Nginx】负载均衡

文章目录 负载均衡概述负载均衡的原理及处理流程负载均衡常用的处理方式方式一:用户手动选择方式二:DNS轮询方式方式三:四/七层负载均衡 Nginx七层负载均衡的指令upstream指令server指令 Nginx七层负载均衡的实现流程负载均衡状态负载均衡策略负载均衡案例案例一:对…

“多杆合一”降本增效——数字孪生智慧灯杆

随着智慧城市建设的不断深入,智慧灯杆作为城市基础设施的重要组成部分,正在成为城市智能化和绿色化的重要手段之一。 图扑智慧灯杆系统在城市道路照明领域引入信息化手段,通过构建路灯物联网,实现了现代化的路灯按需维修和按需照…

Windows与Linux系统实现文件互传(通俗易懂)

SCP指令可以实Windows系统与Linux系统之间的文件互传 引言Windows系统文件传输到Linux系统上(先操作)Windows系统文件传输到Linux系统上(再细聊)Linux系统文件传输到Windows系统上(先操作)Linux系统文件传输…

【PCIE702-1】基于Kintex UltraScale系列FPGA的高性能PCIe总线数据预处理载板

板卡概述 PCIE702-1是一款基于PCIE总线架构的高性能数据预处理FMC载板,板卡采用Xilinx的高性能Kintex UltraScale系列FPGA作为实时处理器,实现各个接口之间的互联。板卡具有1个FMC(HPC)接口,1路PCIe x8主机接口&#x…

【首发】全道科技轻地图数据闭环解决方案

近日,全道科技执行董事王闯在WGDC 2023进行了《从‘重感知、轻地图’看城市NOA解决方案创新与发展》的主题演讲,不仅从高精地图自动化量产技术服务商角度,以更加专业的视角阐释了自动驾驶实现“轻地图”的路径,同时发布了基于此趋…

域名所有权验证教程

申请域名型证书,可以通过以下方式验证域名的所有权:1. 文件验证(云建站主机请选择dns方式)2. 手动DNS验证 3. 自动DNS验证 申请域名型证书,可以通过以下方式验证域名的所有权: 1. 文件验证 根据提示需要创…

数字化军港管理:智慧可视化的力量

随着科技的不断发展和军事需求的日益增长,智慧军港可视化技术成为军事领域中备受瞩目的创新应用。以数据可视化为核心,智慧军港可视化将军港运营管理提升到一个全新的水平,为军事力量的部署、维护和战备提供了前所未有的支持和优势。 山海鲸 …

全面SOA化,详解华为iDVP数字底座

交流群 | 进“传感器群/滑板底盘群/汽车基础软件群/域控制器群”请扫描文末二维码,添加九章小助手,务必备注交流群名称 真实姓名 公司 职位(不备注无法通过好友验证) 作者 | 张萌宇 在汽车产业向智能化转型的过程中&#xff0c…

WindowManager 1.1.0-beta01 新功能详解

作者 / 技术撰稿人兼软件工程师 Jon Eckenrode Jetpack WindowManager 库的 1.1.0-beta01 版本正继续有条不紊地推进 1.1.0 稳定版本的发布。Beta 版增加多个新特性和功能,欢迎您即刻进行测试、抢先体验! 我们需要您的反馈以优化 WindowManager 的功能&a…

丁凯博士在CCIG:文档图像处理「新未来」

文章目录 ⭐️ CCIG大会简介⭐️ 合合信息 与 丁凯博士⭐️ 领先世界的智能文档处理技术🌟 智能图像处理:为文字识别 "增质提效" 筑基✨ 切边增强 - 提升文档图像质量✨ 弯曲矫正 - 解决图像畸变问题✨ 去摩尔纹 - 保证图像信息完整 &#x1f…

各行业防雷工程和防雷接地的应用方案

随着现代电气、电子设备的广泛应用,防雷措施也越来越受到重视。特别是在单位、家庭建筑物中,为了保障人们的生命财产安全,必须采取严格的防雷措施。 一、防雷举措 接地系统 接地系统是防雷措施的基础,其目的是将建筑物内部的电…

AI孙燕姿爆火,华语乐坛重温旧梦

最近在B站,AI孙燕姿火了。 浏览相关搜索页面,这位新晋“红人”翻唱了各种类型的歌曲,包括《红豆》《爱在西元前》《水星记》《安河桥》,甚至还有《向天再借五百年》,更重要的是,表现普遍不俗,俘…

态路小课堂丨光口不亮?三种简单故障排查请查收!

在光链路中,当遇到交换机光口互连不亮情况时,很多人不知道如何处理。本文态路为您介绍三种简单故障排查方案,助您快速进行故障排查和问题定位。 一、首先检查一致性 1、两端光模块型号是否一致。一般包括速率、封装模式、接口类型、传输波长、…

pdf如何删除其中一页?不妨试试这些办法

PDF格式是一种非常常见的文档格式,它可以在各种系统和设备上使用,而且无论在哪里打开,都可以保持格式的一致性。有时候,我们需要删除PDF文档中的一页,无论是为了更改文档的结构,还是为了删除错误的信息。在…

chatgpt赋能Python-python_imapclient

Python IMAPClient – 了解如何使用它 Python是一种流行的解释性编程语言,它在Web开发、数据科学、人工智能等领域得到广泛应用。Python提供了极大的灵活性和易用性,几乎可以满足任何编程需求。如果你需要编写电子邮件客户端,Python IMAPCli…

Spring Boot 日志处理

Spring Boot 日志处理 Spring Boot 是一个非常流行的 Java 开发框架,它提供了简洁的配置和强大的开发工具。日志是应用程序中必不可少的一部分,因为它可以帮助开发人员进行调试和故障排除。Spring Boot 提供了多种日志框架,本文将重点介绍如…

Spring Cloud Feign 是什么?如何使用它来简化 RESTful 调用?

Spring Cloud Feign 是什么?如何使用它来简化 RESTful 调用? 在分布式系统中,服务之间的通信是非常常见的场景。通常情况下,服务之间的通信是通过 RESTful API 实现的。但是,手动编写 RESTful 调用代码非常繁琐&#…

python---变量(1)

EG:计算方差 1.先把这一组数的平均值计算出来(后面会反复使用) 2.针对每个数字,分别计算数字和平均值的差,再平方。 3.把2中的平方值相加 4.总和/(项数-1) 下面我们开始实现这个代码! 代码运行…

OpenPCDet系列 | 7.1 KITTI数据集测试流程predicted_boxes预测

文章目录 AnchorHeadTemplate.generate_predicted_boxes部分 AnchorHeadTemplate.generate_predicted_boxes部分 测试流程的结构图如下所示: generate_predicted_boxes函数一开始的数据传入为: 首先对于各类预测的特征图进行重新reshape处理&#x…

Redis配置及优化

一、关系数据库和非关系型数据库 1、关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言…