Vite | 青训营笔记

66 阅读1分钟

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

Vite是什么?

vite是下一代前端开发与构建工具。Vite意在提供开箱即用的配置,同时它的插件API和JavaScript API 带来了高度的可扩展性,并有完整的类型支持。

前端工程化

模块化 ESM,CommonJS,UMO

  • 模块加载方案
  • 兼容模块

资源编译

  • 语法转译
  • 资源加载

产物质量

  • 产物压缩
  • 语法降级

开发效率

  • 热更新

Vite优点

  • 高性能,简单易用
  • 两大组成部分:源文件无需打包,生产环境基于Rollup 的Bundler

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

  • 无需打包项目源代码
  • 天然的按需加载
  • 可以利用文件级的浏览器缓存

基于Esbuild的编译性能优化

  • 打包器 Bundler
  • 编译器 Transformer
  • 压缩器 Minifier

Vite安装+工具安装

使用说明:cn.vitejs.dev/guide/

  • 使用 NPM: npm create vite@latest
  • 使用 Yarn: yarn create vite
  • 使用 PNPM: pnpm create vite
  • 提前安装pnpm npm i -g pnpm
  • 初始化命令 pnpm install
  • 启动项目 npm run dev
  • 安装sass pnpm i sass -D

为什么要预打包

  • 避免node_modules过多的文件请求
  • 将CommonJS格式转换为ESM格式

实现原理

  • 服务启动前扫描代码中用到的依赖
  • 用Esbuild对依赖代码进行预打包
  • 改写import语句,指定依赖为预构建产物路径

Vite 进阶路线

Vite底层依赖于

Vite 插件开发

代码分割(拆包)

O4ON9W611`X373%AAJM.png

JS 编译工具(Babel)

Babel官方文档

服务器渲染(SSR)