环境变量和模式
Farm
通过 process.env.NODE_ENV
来区分 development
环境和 production
环境。
在不同的环境中,环境变量会被静态替换,因此使用静态常量来表示环境变量,而不是使用动态表达式。
.env
文件
Farm
使用 dotenv
来加载你的额外环境变量,例如 .env
文件。默认情况下, .env
文件从 root
加载,你可以使用 envDir
来自定义。
Farm
通过dotenv加载 .env
文件,将其加载到 process.env
中,并最终将其注入到define中。
为了确保客户端的安全,防止当前系统中的环境变量被暴露给客户端, Farm
只会识别以 FARM_
、VITE_
开头的重要环境变量,以便更好地兼容vite及其生态系统。前缀可以通过 envPrefix
前缀配置
Farm
通过dotenv-expand扩展环境变量。对于仅用于开发的环境变量,使用 .env.development
文件,对于仅用于生产的环境变量,使用 .env.production
文件,对于通过 --mode <stage>
传递的自定义模式,从 .env.<stage>
文件加载。
envPrefix
- 默认值:
FARM_
、VITE_
通过配置 envPrefix
来自定义环境变量的前缀。以 envPrefix
开头的环境变量将自动注入到define中。例如,在 .env
文件中:
那么 FARM_CUSTOM_VERSION
将被注入到你的业务代码中,但 APP_VERSION
不会被注入。在你的业务代码中:
FARM_CUSTOM_VERSION
将自动被替换为 '1.0.0'
。
envDir
- 默认值:
<root>
加载env文件的目录。默认情况下,Farm从根目录加载 env 文件
。
对于上述配置示例,Farm将从 <root>/env
目录加载.env
、.env.development
等环境变量文件。