Vite5基础进阶和原理剖析
Vite5 的核心和基础使用
核心设计
- 木块化规范演进:commonjs -> amd -> cmd -> umd -> esmodule
bundleless
模式,取决于浏览器原生ESModule的支持- 本地开发 esbuild,线上构建 rollup
基本使用
- 脚手架初始化项目
- 工程化、规范、自动化
- 配置 Vite 体系。哪些内容需要打包,需要编译什么内容
- react 项目:
@vitejs/plugin-react
- vue 项目:
@vitejs/plugin-vue
- 官方文档,
@vitejs/plugin-xxx
- unbundle
- vite-awesome
- react 项目:
初始化项目
pnpm create vite 项目名 --template [react-ts/vue-ts]
vite.config.ts配置
plugins
resolve
server
build
manualChunks 静态拆包
模块懒加载
1
2
3import('./src/utils').then((res) => {
console.log(res)
})上面代码会被单独打包成一个文件
define 配置项用于在编译时定义全局常量,它会在代码被打包构建的过程中,将你指定的标识符替换为对应的值。简单来说,就是让你可以在源代码中直接使用一些
“全局变量”,而这些变量会在构建阶段被静态替换为具体内容。核心作用
- 注入全局常量:在代码中直接使用预定义的常量(如环境标识、API 地址等),无需手动导入。
- 编译时替换:替换发生在构建阶段,而非运行时,不会增加运行时开销。
- 条件编译:可以根据不同环境定义不同的值,实现代码的条件执行(如开发环境打印日志,生产环境移除日志)。
1 |
|
vite 插件开发
前置准备:vite-plugin-inspect 插件
vite-plugin-inspect
是 Vite 生态中的一个开发辅助插件,主要作用是可视化地查看 Vite 构建过程中的模块转换、插件执行流程和依赖关系,帮助开发者调试和理解
Vite 的内部工作机制。
Vite 为了将生态的扩充交给开发者,因此采用了插件化设计思想,定义了基础插件化协议,开发者可以根据协议开发自己的插件,以此来丰富
vite 生态。
Vite 插件的本质是函数,函数有返回值。
1 |
|
1 |
|
Vite5基础进阶和原理剖析
https://zouhualu.github.io/20250421/Vite5基础进阶和原理剖析/