Sunday面试指南

Vite 和 Webpack 有什么区别?开发启动和生产构建为什么要分开看?

🧑‍💻 面试官:Vite 和 Webpack 有什么区别?

🙋‍♂️ 我:Vite 不用打包,所以启动快;Webpack 要把所有文件打包。

🧑‍💻 面试官:你说的是开发还是生产?Vite build 也不打包吗?

🙋‍♂️ 我:生产应该还是用 Rollup。

🧑‍💻 面试官:这是哪个版本的结论?项目有自定义 loader,直接迁移会发生什么?

比较构建工具,先拆开开发服务和生产构建,再说当前版本;“Vite 不打包”只说中了很窄的一部分。

面试速答(60 秒版)

Webpack 会从入口建立依赖图,通过模块处理规则、loader 和插件生成构建结果。它的开发服务、缓存和热更新也可以改善开发体验,不是每次修改都重新做全量构建。

Vite 的开发流程从浏览器原生 ESM 和按需处理源码出发,把开发反馈作为重点;但依赖处理和生产构建仍然涉及打包,不能说它完全不打包。

版本也要讲清楚:Vite 8 已用 Rolldown 统一原先的构建工具链,旧的“esbuild 加 Rollup”描述不能不加条件地套到当前版本。

实际选型要检查现有插件、特殊模块处理、框架支持和构建结果。先测冷启动、热更新和生产构建,再决定迁移值不值得。

构建工具比较需分开开发反馈与生产交付,并标注Vite8工具链

知识点详解:开发时怎么快,生产时怎么交付

先问清楚慢发生在哪个阶段

假设团队的后台项目启动要等一会儿,但启动后修改普通组件很快。另一个项目启动快,却在生产构建时耗时很长。

这不是同一个性能问题。至少要把冷启动、首次页面请求、热更新和生产构建分开测。

开发阶段追求反馈快,可以按需求处理模块;生产阶段还要考虑请求数量、代码压缩、分块、兼容性和缓存。把某个开发阶段的优势直接推导成“上线一定更快”,中间少了构建结果这一层。

Webpack 的核心是依赖图和可配置处理流程

入口文件引用模块,模块再引用其他模块,工具沿着这些关系建立依赖图。不同资源可以经过处理规则,例如转换 TypeScript 或处理样式,再进入构建输出。

loader 主要介入模块转换;plugin 可以接入更广的构建生命周期。复杂项目因此能做细致定制,但配置和兼容责任也会增加。

Webpack 并不意味着没有增量处理、持久缓存或热更新。面试中比较的是默认组织方式与具体配置,不能把未优化的旧项目当成工具能力的上限。

Vite 的说法,要带上版本

Vite 的开发体验从原生 ESM、按需处理和快速热更新发展而来。源码按需处理,不代表依赖完全不用预处理,也不代表开发时所有工作都交给浏览器。

旧版本常见的说明是依赖预构建用 esbuild、生产构建用 Rollup。但截至本次核验,Vite 8 已切换到基于 Rust 的 Rolldown 工具链。项目还停留在旧版本时,应按那个版本解释;升级到 Vite 8 时,也要检查新的配置接口和插件兼容性。

工具链在变,开发与生产的目标差异没有变。回答时能分开这两层,比背住一个永久不变的工具名称更可靠。

这是 JavaScript 工程化工具的比较,Python 打包工具不是它们的对等实现,本文不做跨语言 API 翻译。

迁移前,先选几个最容易出问题的模块

我会先检查自定义 loader、CommonJS 依赖、环境变量、资源路径和构建插件。再用一个小范围迁移验证产物,而不是只看开发首页能不能打开。

验收里要包含分块后的深层页面、旧浏览器目标、Source Map 和生产部署。若现有流程已经稳定,迁移收益也应覆盖维护和回归成本。

比较结果可以很具体:哪个阶段减少了等待、哪些配置被删掉、哪些特殊能力需要重写。没有测量时,不给“所有项目都更快”的保证。

本题机制参考:Webpack:Concepts、Vite:Why Vite、Vite 8 发布说明、Vite:Building for Production。

面试官继续追问

Vite 生产环境直接把所有源码按 ESM 发出去吗?

默认生产构建会生成经过处理和打包的产物。开发阶段的组织方式不能直接当成生产部署方式。

换成 Vite 就能降低页面运行时耗时吗?

不一定。工具影响构建和资源组织,但页面逻辑、资源体积与主线程工作仍要测。

已有 Webpack 项目必须迁移吗?

不必须。先确定痛点和兼容范围,再比较收益与回归成本。

面试速记卡

  • 比较阶段:冷启动、首次请求、HMR、生产构建分别测。
  • Webpack:入口依赖图、模块处理规则、loader 与 plugin。
  • Vite:开发按需处理思路,不代表完全不打包。
  • 版本条件:Vite 8 使用 Rolldown,旧工具链说法需注明版本。
  • 迁移判断:兼容性与产物验收,比工具口号更重要。

公司面试真题

这道题暂未收录可核验的公司真题来源。你可以先阅读本文解析,或浏览已收录的公司面试真题。

浏览公司面试真题 →
简历汪永久免费在线制作简历,模板直接套用、导出无水印,永久免费、下载免费,不需要付费解锁任何功能。去写简历