Vite 的配置文件 vite.config.ts(或 vite.config.js)是项目的"控制中心",所有构建行为都可以在这里自定义。本章我们系统学习配置文件的每一个常用选项。
配置文件基础 💎
文件类型 💎
Vite 支持 TypeScript 与 JavaScript 两种配置方式:
为什么推荐 TypeScript?
- 完整的类型提示
- 编辑器自动补全
- 重构更安全
- Vite 本身使用 TypeScript 开发,与 TypeScript 配合最默契
Vite 的配置文件 vite.config.ts(或 vite.config.js)是项目的"控制中心",所有构建行为都可以在这里自定义。本章我们系统学习配置文件的每一个常用选项。
Vite 支持 TypeScript 与 JavaScript 两种配置方式:
为什么推荐 TypeScript?
在实际项目中,不同环境(开发、测试、生产)通常需要不同的配置:API 地址、密钥、是否开启调试等。Vite 内置了完善的环境变量与模式管理机制。
Vite 项目中通常有三类环境变量:
| 类型 | 来源 | 访问方式 |
|---|---|---|
| process.env | Node.js 原生环境变量 | 配置文件 / 构建脚本 |
| Vite 内置变量 | Vite 默认提供的变量 | 配置文件 / 客户端代码 |
| 自定义变量 | 项目根目录 .env.* 文件 |
以 VITE_ 开头的可在客户端访问 |
Vite 对静态资源(图片、字体、视频、音频等)有非常完善的支持。本章我们系统学习 Vite 的静态资源处理方式。
Vite 中处理静态资源主要有以下几种方式:
| 方式 | 适用场景 | 特点 |
|---|---|---|
import 导入 |
JS / TS 中使用 | 获得 URL 或原始数据 |
public/ 目录 |
不需要处理的静态文件 | 原样拷贝到产物目录 |
CSS 中的 url() |
CSS 文件中引用 | 自动处理 hash |
<img src> 字符串路径 |
模板中引用 | 需要放 public 目录 |
Vite 原生支持 SCSS / Less / Stylus 等主流 CSS 预处理器,无需额外配置即可直接使用。本章我们学习如何与 PostCSS 协同工作,打造一个强大的 CSS 工程化方案。
Vite 内置了对以下预处理器的支持(仅需安装对应编译器):
| 预处理器 | 编译器 | 安装命令 |
|---|---|---|
| SCSS / Sass | sass |
pnpm add -D sass |
| Less | less |
pnpm add -D less |
| Stylus | stylus |
pnpm add -D stylus |
| PostCSS | postcss |
pnpm add -D postcss |
在 Vite 项目中,路径别名(alias)和开发代理(proxy)是两个高频使用的配置。本章我们详细学习它们的配置方式与最佳实践。
路径别名可以让我们使用 @/components/Button 替代 src/components/Button,让代码更清晰、维护更方便。
// vite.config.ts
import { defineConfig } from 'vite'
import path from 'node:path'
export default defineConfig({
resolve: {
alias: {
// 简写
'@': path.resolve(__dirname, 'src'),
// 等价于(推荐写法,跨平台兼容)
// '@': fileURLToPath(new URL('./src', import.meta.url)),
// 自定义别名
'@components': path.resolve(__dirname, 'src/components'),
'@utils': path.resolve(__dirname, 'src/utils'),
'@assets': path.resolve(__dirname, 'src/assets'),
'@views': path.resolve(__dirname, 'src/views'),
'@styles': path.resolve(__dirname, 'src/styles'),
},
},
})
Vite 的插件生态非常丰富,合适的插件可以极大提升开发效率。本章推荐一些社区最流行、最实用的 Vite 插件。
Vue 3 官方插件,提供 SFC 单文件组件支持。
pnpm add -D @vitejs/plugin-vue
Vite 开发体验已经够快,但生产环境的产物质量同样重要。本章我们学习如何分析和优化 Vite 打包结果,让应用又快又小。
# 生产环境打包
pnpm build
# 打包 + 本地预览
pnpm preview
# 打包并分析体积
pnpm build --mode analyze
HMR(Hot Module Replacement,热模块替换)是现代前端开发体验的核心特性。本章我们深入学习 Vite HMR 的原理、配置、API 以及常见问题的解决方案。
HMR 允许在运行时更新各种模块,而无需进行完全刷新(Full Reload)。它有以下优势:
Vite(发音为 /vit/,类似法语单词 veut,意为"快")是一种新型前端构建工具,由 Vue.js 作者 尤雨溪(Evan You) 开发,目前已经成为前端领域最流行的构建工具之一。
Vite 能够显著提升前端开发体验,主要包括: