Vite部分原理

37 阅读1分钟

Vite

为什么选Vite?

很多Javascript开发的工具通常需要很长时间才能启动开发服务器,即使使用hmr,文件修改的效果也需要在几秒钟后才能在浏览器中反映出来,但是vite采用go编写,就不出现这种问题。

Vite 旨在利用生态系统中的新进展解决上述问题:浏览器开始原生支持 ES 模块,且越来越多 JavaScript 工具使用编译型语言编写。

问题:

缓慢的浏览器启动:

启动服务器时,打包器必须抓取并构建整个应用;

vite将应用分为依赖源码两个部分,同时使用esbuild预构建依赖

预构建:

1.vite只能识别原生esmodule,有些依赖项是commonjs之类的,所以要对其进行预构建

2.依赖项中有的可能包含多个方法,例如lodash,预构建的话就可以将其合在一起,请求一次,否则需要发起600多次请求

3.预构建之后的依赖会缓存到node_module/.vite下