Vite 相关问题
Youky ... 2022-10-16 Less than 1 minute
# Vite 相关问题
# Vite 的流程和 Webpack 的区别
# Webpack
- 识别入口
- 分析模块的依赖关系
- 分析代码、转换代码、编译代码、输出代码
- 生成打包后的产物
# Vite
省去了对源码的打包编译阶段
当 script 标签声明了 type=module
后,浏览器就会发起一个 GET 请求。Vite 做的就是劫持这些请求,对相应的文件进行整合并返回。
初次启动时,对资源进行预打包,准备好 ESM 模块。
# 和 Webpack 相比,优缺点是什么
优点:
- 更快的构建速度、热更新速度
- 更好的利用了浏览器,如利用浏览器的 ESM 的支持和使用 HTTP 头进行协商缓存
缺点:
- 生态上:不如 webpack 丰富
- 兼容性上:只支持现代浏览器,需要原生支持模块功能
# 为什么 esbuild 更快?
- 使用 Go 编写,并编译为可执行代码
- 不依赖其他库,自己从零开始实现所有功能,始终考虑性能问题且不需要进行数据结构的转化