请参考:https://cn.vitejs.dev/guide/env-and-mode.html
一、添加环境变量文件
.env # 所有情况下都会加载
.env.local # 所有情况下都会加载,但会被 git 忽略
.env.[mode] # 只在指定模式下加载
.env.[mode].local # 只在指定模式下加载,但会被 git 忽略
在比较正式的研发流程内,有这么几类环境:
- 开发环境: .env.development
- 测试环境:.env.test
- 仿真环境:.env.sim
- 预发布环境:.env.pre
- 生产环境:.env.production
小型组织内为了节省资源,我们只定义这三类环境:
- 开发环境:.env.development
- 测试环境:.env.test
- 生成环境:.env.production
另外有些公共的环境变量我们可以放到.env
环境中
二、添加typescript类型定义
如果我们要对环境变量进行扩充并且被typescript识别,我们在<project>/types
目录下定义env.d.ts
文件如下:
interface ImportMetaEnv {
VITE_PUBLIC_PATH: string;
}
如果有其他要定义的环境变量,请在此扩充
三、环境变量的辅助函数
因为在vite.config.ts中我们可能需要根据不同的环境变量去配置vite,而import.meta.env的信息在vite.config.ts中还未初始化,不能直接通过import.meta.env的方式去直接访问,需要借助相关函数来获取环境变量配置信息。
import { loadEnv } from 'vite';
const root = process.cwd();
const env = loadEnv(mode, root);
上述mode可以是development, production, test等等