按需编译是 Vite 开发体验的核心,它只在模块被浏览器实际请求时才进行编译,而不是在启动时编译全部文件。
当浏览器请求某个源文件时,Vite 判断其类型,动态调用对应的转换逻辑(如把 .tsx 转为 JavaScript、把 .vue 拆分为脚本与模板),编译结果即时返回。未被访问的文件始终不进入编译流程。
每个模块作为独立的编译单元处理,编译一个文件不会触发其他文件的重新编译。这使得编辑某个文件时,只有依赖它的模块链需要更新,其余文件保持不变。
Vite 会对已编译的模块做缓存,重复请求时直接命中缓存,避免重复转换,进一步降低响应延迟。