工程化与性能 · 单选题 · 第 57 题
前端与全栈开发面试 · 第 57 题
Vite 开发服务器启动和热更新都很快,主要原因是?
- A启动时先把整个项目完整打包成一个文件,之后的修改再增量更新
- B开发模式下完全跳过 TypeScript 和 JSX 的转换,直接运行源代码
- C内部使用 webpack 作为开发服务器,只是对它的默认配置做了优化
- D开发时利用浏览器原生 ES 模块按需编译,第三方依赖只预构建一次
答案
D D. 开发时利用浏览器原生 ES 模块按需编译,第三方依赖只预构建一次
解析
Vite 不需要先打包整个应用,浏览器请求哪个模块就编译哪个,项目再大启动时间也基本不变;热更新只替换改动的模块。依赖预构建把 CommonJS 包转成 ESM,并把内部文件很多的包合并,减少请求数。TypeScript 只做语法转换、不做类型检查,类型检查交给编辑器或 tsc。