Vite 知识体系 | 青训营笔记

44 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第9天

一、Vite 是什么?为什么要用?

Vite是一种前端构建工具。

由以下两部分组成:

  • No-bundle 开发服务,源文件无需打包
  • 生产环境基于Rollup 的Bundler

优势:

  • 高性能,dev启动速度和热更新速度非常快
  • 简单易用,开发者体验好

基于原生ESM的开发服务优势

当使用ESM 模式时, 浏览器会构建一个依赖关系图。不同依赖项之间的连接来自你使用的导入语句。 通过这些导入语句, 浏览器 或 Node 就能确定加载代码的方式。通过指定一个入口文件,然后从这个文件开始,通过其中的import语句,查找其他代码。

  • 无需打包项目源代码
  • 天然的按需加载,即只加载访问的html文件中需要资源文件
  • 可以利用文件级别的浏览器缓存

基于Esbuild的编译性能优化

image.png

二、如何使用Vite

项目初始化

image.png 启动完成后,打开浏览器访问对应地址即可

使用Sass/Scss & CSS Module

image.png

使用Scss & CSS Module

image.png

HMR

在对浏览器的组件有操作后,对项目进行修改,已经操作过的部分不会被重置,即热更新是局部更新。

使用静态资源

image.png

生产环境Tree Shanking

Tree Shanking在Vite中无需配置,默认开启!

在终端中输入:

prom run build

生成的产物在dist目录的assets中,在最会打包的代码产物中,没有用到的模块被自动Tree Shaking,已经在产物中无法找到,已经被优化掉,提高了性能。

image.png

三、vite整体框架

关键技术

  • 依赖预打包

image.png

  • 单文件编译

image.png

  • 代码压缩 压缩效率高
  • 插件机制

image.png