跳到主要内容

环境变量和模式

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> 文件加载。

  • 如果你想自定义加载 .env 文件的目录,你可以配置 envDir
  • 如果你想自定义注入到 define 的环境变量的前缀,你可以配置 envPrefix

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等环境变量文件。

Extremely Fast Web Build Tool Written in Rust

Copyright © 2024 Farm Community. Built with Docusaurus.