前言
之前老是想着为什么会有env文件,为啥env文件里面的变量能通过特定的指定方式去引入(import.meta.env),深入学习后,感觉越来越接近真相了。
什么是环境变量
百度百科:环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
个人理解:就是根据我们代码运行时所产生的全局可以引用的变量就叫环境变量
.env
我们平常使用vite开发经常会看到一些.env开头的文件,这些文件就是用来存放环境变量的文件,那么他们是怎么和环境变量挂钩的?下面介绍
dotenv
Dotenv 是一个零依赖模块库,它将环境变量从文件加载到 process.env
中。vite内置了这个dotenv库,然后它会自动读取.env文件的配置并解析这个文件的对应的环境变量将其注入到process.env
对象上。实际上不会全部注入,默认是将VITE开头的注入。
对环境变量的处理
修改VITE开头的环境变量
我们可以通过envPrefix来更改需要注入的环境变量的前缀
envPrefix: "ENV_",
loadEnv
loadEnv()是vite用来加载环境变量的方法
function loadEnv(
mode: string,
envDir: string,
prefixes: string | string[] = 'VITE_',
): Record<string, string>{
}
- mode: 是运行的环境,是开发环境还是生产环境
- prefixes:是vite可接受的环境变量的前缀
- envDir:环境变量配置所在的文件