跳到正文
前端知识库
工程化

Vite 面试基础知识速览

开发环境基于 ESM 按需加载,不做整包打包;生产环境走 Rollup 做优化产物。(深入阅读:Vite 的工作模型)

4 分钟

Vite 面试基础知识速览

一、面试先说结论

1. Vite 为什么快

开发环境基于 ESM 按需加载,不做整包打包;生产环境走 Rollup 做优化产物。(深入阅读:Vite 的工作模型

2. Vite 适合什么场景

中大型前端项目、组件库开发、对冷启动和 HMR 速度敏感的团队。(深入阅读:Vite 与 webpack 的选型

3. Vite 和 webpack 核心差异

webpack 以“打包”为中心;Vite 以“原生模块开发体验 + 构建优化”双阶段为中心。(深入阅读:Vite 的工作模型

二、高频问法速答

1. Vite 的启动流程

读取配置 -> 启动 dev server -> 浏览器请求模块 -> 服务端按需转换并返回。(深入阅读:开发阶段按需转换

2. 为什么首屏打开快

入口文件和首屏依赖优先加载,其他模块在请求时才编译与下发。(深入阅读:开发阶段按需转换

3. HMR 为什么快

只更新受影响模块,不重建整棵模块图,且更新链路短。(深入阅读:HMR 更新链路

4. 依赖预构建在做什么

用 esbuild 预构建第三方依赖,统一为 ESM 并做缓存,减少重复解析开销。(深入阅读:依赖预构建的真正目的

三、配置题必会

1. 路径别名

通过 resolve.alias 统一导入路径,减少相对路径维护成本。(深入阅读:别名策略

2. 代理跨域

通过 server.proxy/api 转发到后端,解决本地联调跨域。(深入阅读:代理配置的边界

3. 环境变量

VITE_ 前缀变量可在客户端读取,避免敏感配置泄露。(深入阅读:环境变量

4. 构建拆包

使用 build.rollupOptions.output.manualChunks 拆分 vendor 与业务包。(深入阅读:拆包策略

四、性能优化答案模板

1. 冷启动慢

先看依赖体积和预构建缓存,再看插件链是否过重。(深入阅读:冷启动慢的排查顺序

2. 打包体积大

做路由懒加载、公共包拆分、按需引入和压缩策略优化。(深入阅读:构建慢的排查顺序

3. 白屏时间长

提取关键渲染路径,延迟非首屏脚本与大资源。(深入阅读:首屏慢的排查顺序

五、追问加分点

1. Vite 插件本质

基于 Rollup 插件体系扩展,并在开发阶段增加中间件钩子能力。(深入阅读:企业里的构建边界

2. SSR 支持

Vite 原生支持 SSR 开发体验,重点关注同构代码边界和数据预取。(深入阅读:Vite 的工作模型

3. Monorepo 场景

配合 workspace 与别名策略,统一依赖版本并减少重复构建。(深入阅读:冷启动慢的排查顺序

30 秒口述模板

我会把「vite」分成三层来讲:先讲核心概念和它解决的问题,再讲一个高频场景与实现思路,最后补充常见坑点和优化方向。这样既能回答基础问题,也能接住面试官追问。

2 分钟口述模板

如果展开讲,我会按“定义 -> 原理 -> 场景 -> 取舍”四步回答。先说明「vite」解决的核心问题和边界;再讲 1 到 2 个关键机制,解释为什么这样设计;然后结合一个真实业务场景说明如何落地;最后补充常见坑点、性能或稳定性优化,以及与相近方案的取舍标准。

这样回答的好处是:既有原理深度,也有工程落地感,面试官继续追问到实现细节时也能自然展开。