打好基础
8 组 · 21 篇Vite 概述与安装
5 篇Vite 简介与核心特性
Vite 是新一代前端构建工具,利用原生 ESM 提供极速开发体验,核心特性包括快速冷启动、即时热更新和按需编译。
环境要求与安装方式
Vite 需要 Node.js 18+ 环境,支持 npm、pnpm、yarn 多种安装方式,本文介绍具体要求与安装命令。
创建首个 Vite 项目
使用 create-vite 脚手架快速创建 Vite 项目,支持多种模板选择,创建后即可启动开发服务器。
项目目录结构解析
Vite 项目目录结构简洁清晰,包括 index.html 入口、src 源码目录、public 静态资源目录等核心结构。
package.json 脚本命令
Vite 项目 package.json 包含 dev、build、preview 三个核心脚本,分别用于开发、构建和预览。
开发服务器与热更新
2 篇基础配置入门
3 篇静态资源处理
2 篇CSS 与样式处理
2 篇环境变量与模式
2 篇构建与部署
3 篇核心能力
10 组 · 42 篇配置文件深入
5 篇条件配置与异步配置
Vite 配置支持函数形式返回配置对象,可根据 command 和 mode 动态调整配置,也支持异步加载配置。
配置依赖与热更新
配置 configFile 和 envDir 选项,控制配置文件和环境变量的加载位置,支持配置变更自动重启。
共享配置抽取
抽取公共配置到独立文件,在多环境间复用,通过组合策略实现配置统一管理和灵活扩展。
define 定义全局常量
使用 define 选项定义全局常量,编译时替换变量值,适合版本号、构建时间等固定信息注入。
解析选项与扩展名
配置 resolve.extensions 自定义模块扩展名解析,简化导入语句,省略文件后缀书写。
插件系统
4 篇插件概念与生命周期
Vite 插件兼容 Rollup 插件接口,具有双阶段钩子机制,开发环境使用 Vite 钩子,生产构建使用 Rollup 钩子。
常用官方插件使用
Vite 提供官方插件如 @vitejs/plugin-vue、@vitejs/plugin-react、@vitejs/plugin-legacy 增强框架支持和浏览器兼容性。
社区插件集成
搜索安装社区 Vite 插件扩展功能,通过 npm 安装后在 vite.config.js 中配置使用。
插件条件应用
使用 apply 选项控制插件只在 serve 或 build 阶段生效,优化开发或构建体验。
模块化与依赖预构建
3 篇TypeScript 深度集成
5 篇TypeScript 配置优化
配置 tsconfig.json 与 Vite 协同工作,正确设置 moduleResolution、paths 与 vite.config.js 的 alias 保持一致。
类型检查策略
Vite 开发环境不执行类型检查,需集成 vue-tsc 或 tsc 进行类型检查,建议在构建流程中运行。
esbuild 转译配置
配置 esbuild 对 TypeScript 的转译选项,支持装饰器、JSX 工厂函数自定义等高级配置。
引用类型声明文件
配置 compilerOptions.types 指定类型声明文件,或使用三斜线指令引用,管理全局类型声明。
Vue/React 类型支持
配置 Vue 单文件组件和 React JSX 的类型声明,确保 TypeScript 正确识别组件类型和 JSX 语法。
框架集成实践
5 篇Vue 项目配置
使用 @vitejs/plugin-vue 支持 Vue 3 单文件组件,配置 JSX 和其他 Vue 特定选项。
React 项目配置
使用 @vitejs/plugin-react 支持 React 项目,配置 Fast Refresh 快速热更新和 JSX 转译选项。
Svelte 项目配置
使用 @sveltejs/vite-plugin-svelte 支持 Svelte 项目,配置预处理器和编译选项。
JSX/TSX 转译配置
配置 esbuild 或 Babel 转译 JSX/TSX,自定义 JSX 工厂函数支持不同框架的组件创建方式。
框架特定的构建优化
针对不同框架配置构建优化选项,Vue 配置 compilerOptions,React 配置 babel 选项,提升产物质量。
构建优化策略
6 篇代码分割策略
配置 build.rollupOptions.manualChunks 自定义代码分割策略,将依赖和业务代码合理拆分优化加载性能。
压缩配置优化
配置 build.minify 选择 esbuild 或 terser 压缩,esbuild 速度快适合默认场景,terser 功能全面适合极致优化。
Chunk 大小警告处理
配置 build.chunkSizeWarningLimit 调整 chunk 体积警告阈值,或优化分包策略解决警告问题。
资源内联阈值配置
配置 build.assetsInlineLimit 控制小资源内联阈值,小于阈值的资源转为 base64 内联减少请求。
Source Map 生成策略
配置 build.sourcemap 控制源映射生成方式,支持 false、true、'inline'、'hidden' 等选项。
库模式构建
配置 build.lib 打包组件库或工具库,输出 ES Module 和 CommonJS 格式,支持 TypeScript 类型生成。
CSS 高级处理
4 篇CSS 代码分割
理解异步 chunk 的 CSS 提取与注入策略,CSS 随 JS chunk 分割或合并,影响加载顺序。
CSS Minify 配置
配置 build.cssMinify 控制生产环境 CSS 压缩,支持 esbuild、Lightning CSS 或自定义压缩工具。
Lightning CSS 集成
配置 css.transformer 使用 Lightning CSS 加速 CSS 处理,支持 CSS Nesting 等现代特性。
CSS 预处理器高级配置
为 Sass/Less 配置 API 选项、额外导入路径、全局变量注入等高级配置,提升预处理器使用效率。
开发服务器高级配置
4 篇SSR 基础
3 篇高阶实战
7 组 · 32 篇插件开发原理与实践
6 篇Vite 插件 Hook 体系
Vite 插件 Hook 分为 Vite 特有钩子和 Rollup 兼容钩子,config、transform、load、resolve 等钩子在不同阶段执行。
Rollup 钩子兼容性
Vite 插件兼容 Rollup 钩子,开发环境部分钩子不执行,构建时完整执行 Rollup 钩子,需注意环境差异。
编写 transform 钩子插件
transform 钩子用于模块转换,实现自定义文件类型处理或语法扩展,返回转换后的代码和 Source Map。
编写 load 钩子插件
load 钩子用于自定义模块加载,支持虚拟模块和动态生成代码,返回模块内容替代默认文件读取。
编写 resolveId 钩子插件
resolveId 钩子用于自定义模块路径解析,支持自定义导入路径映射、别名扩展和虚拟模块识别。
插件过滤与性能优化
使用 createFilter 精确过滤处理文件,配合缓存策略和异步处理优化插件执行性能。
构建原理与底层机制
5 篇ESM 原生加载原理
Vite 利用浏览器原生 ESM 能力,开发环境按需编译模块,不打包整个应用,实现毫秒级冷启动。
esbuild 预构建优化
esbuild 在依赖预构建中提供极速编译速度,比 JavaScript 工具快 10-100 倍,但存在功能限制。
Rollup 生产构建原理
Vite 生产构建使用 Rollup,构建模块图、分析依赖关系、分割 chunk,生成优化后的静态产物。
模块图与依赖分析
Vite 模块图追踪所有模块依赖关系,支持动态导入分析、循环依赖处理和 HMR 边界计算。
HMR 边界计算算法
HMR 边界判断确定热更新传播范围,从修改模块向上查找直到遇到 HMR 边界,边界内模块全部更新。
高级性能优化
5 篇Bundle 分析与优化
使用 rollup-plugin-visualizer 分析产物体积分布,识别大依赖和冗余代码,针对性优化构建产物。
Tree Shaking 深度优化
分析副作用标记与模块导出优化,确保 Tree Shaking 有效移除未使用代码,减小产物体积。
动态导入与懒加载策略
设计路由级懒加载与组件预加载策略优化首屏,按需加载非首屏内容,提升页面加载性能。
Web Worker 与多线程优化
使用 ?worker 参数拆分计算密集任务到独立线程,不阻塞主线程渲染,提升复杂计算场景性能。
构建缓存与增量构建
配置持久缓存与增量构建策略加速开发体验,减少重复编译时间,提升构建效率。
高级 SSR 实现
3 篇微前端与模块联邦
4 篇生产环境最佳实践
5 篇CDN 部署与资源分发
配置 CDN 部署策略与资源哈希命名优化缓存,静态资源上传 CDN 加速分发,提升用户访问速度。
构建产物版本管理
设计构建产物版本化策略支持灰度与回滚,使用版本标识管理多版本产物,实现安全发布。
安全策略配置
配置 CSP、SRI 等安全策略保护前端资源,防止 XSS、资源篡改等安全威胁。
性能监控集成
集成性能监控 SDK 与构建产物追踪分析,收集页面加载性能、用户行为数据,优化用户体验。
CI/CD 构建流水线优化
优化 CI 构建流程与缓存策略加速部署周期,减少构建时间,实现快速迭代发布。
生态工具链扩展
4 篇Vitest 单元测试框架
Vitest 与 Vite 集成提供 ESM 测试支持,配置简单、速度快,使用相同配置共享 Vite 生态。
Vitepress 文档站点
Vitepress 基于 Vite 的文档站构建能力,Markdown + Vue 组件支持,快速构建技术文档站点。
Storybook 组件文档
Storybook 与 Vite 的集成配置方案,独立开发测试组件,生成组件文档和交互演示。
Astro 静态站点框架
Astro 基于 Vite 的多框架组件支持特性,零 JS 输出、多框架组件混用、高性能静态站点。