前端面试十四之webpack和vite有什么区别

在前端中,构建工具的选择往往决定了开发体验和效率。webpack和vite是两种广泛使用的构建工具。对比图:

Webpack 是"先打包再运行",Vite 是"先运行再按需编译"。

1. 开发阶段:冷启动 + HMR 速度

指标 Webpack 5 Vite 5
冷启动 3--10 s(全量打包) 50--300 ms(只启动服务器)
HMR 500 ms--2 s(重新走依赖图) 10--100 ms(只重新请求单个 ESM)
原理 把所有模块揉成 bundle 后丢给浏览器 把源码当原生 ESM,浏览器按需去拉;改哪拉哪

2. 生产阶段:打包器与产物

维度 Webpack Vite
打包器 自身 Rollup(插件兼容 Rollup 生态)
代码分割 手动 splitChunks 调优 默认 Rollup 多入口 + 动态 import
构建时间 60--180 s(大项目) 20--60 s(同项目实测)
产物体积 经深度调优可最小 默认 Tree-shaking 干净,手动调优空间小

3. 配置与生态

维度 Webpack Vite
配置文件 动辄 200--500 行 多数项目 20--50 行搞定
插件数量 7000+(稳定、成熟) 1000+(增长快,但企业级插件仍少)
特殊需求 Module Federation、微前端、DLL、Worker -loader 等 官方或社区插件逐步补齐,部分需自己封装

4. 选型速断

Vite

  • 新代码、Vue/React/Svelte、现代浏览器、追求"秒开"体验

  • 中小型项目、组件库、可视化大屏、低代码平台

Webpack

  • 需要 IE11、微前端、Module Federation、深度分包优化

  • 存量巨型项目(迁移成本 > 收益)

  • 企业级定制流程(私有插件、多套构建策略)

相关推荐
人工智能训练13 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪13 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
pas13616 小时前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js
摇滚侠16 小时前
2 小时快速入门 ES6 基础视频教程
前端·ecmascript·es6
珑墨17 小时前
【Turbo】使用介绍
前端
军军君0117 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three
打小就很皮...19 小时前
Tesseract.js OCR 中文识别
前端·react.js·ocr
wuhen_n19 小时前
JavaScript内存管理与执行上下文
前端·javascript
Hi_kenyon19 小时前
理解vue中的ref
前端·javascript·vue.js
落霞的思绪21 小时前
配置React和React-dom为CDN引入
前端·react.js·前端框架