术语图鉴/后端基础/环境变量
←→切换Esc返回

环境变量 Environment Variables

你可能会说

帮我处理一下环境变量,我不太确定最佳实践是什么。

存在代码外面的配置值,如数据库密码、API 密钥。

存在代码外面的配置值,如数据库密码、API 密钥。不同环境(开发/生产)用不同的值,代码不用改。

也常被叫作Environment Variables

生活类比

像通讯录里的备注——同一个人的电话号码,在家里和公司的备注不同,但人还是那个人。

🎮 动手试试

DB=localhost:5432
KEY=sk_test_xxx
选择题选择一个你认为最合适的答案

关于「环境变量」,以下哪个描述最准确?

你可以这样告诉 AI

帮我把数据库密码、API 密钥这些敏感配置抽到 .env 文件,按开发和生产环境分别加载。

容易混淆?这样区分

环境变量 Environment Variables≠
数据库 Database

环境变量是存配置信息的键值对——告诉代码数据库地址是什么;数据库本身是存业务数据的仓库。环境变量只是指向数据库的「路标」。

什么时候用

区分不同运行环境

开发、测试、生产环境的数据库地址和密钥各不相同,用环境变量管理这些差异,代码不用改、只需改配置。

和 AI 协作时

想让 AI 帮你管理配置时,直接说「帮我把数据库连接串、JWT 密钥、第三方 API Key 都抽到 .env 文件里,代码用 process.env 读取」。

什么时候不用

纯前端静态项目

如果使用 Vite/Webpack 的环境变量机制注入构建时常量,和系统级环境变量是不同的概念,不要混淆。

与配置管理无关的项目

如果你只写本地运行的硬编码 Demo,没有多环境部署需求,环境变量的价值不大。

组成结构 · Anatomy

1
核心概念Core

存在代码外面的配置值,如数据库密码、API 密钥。不同环境(开发/生产)用不同的值,代码不用改。

2
实际表现In Practice

像通讯录里的备注——同一个人的电话号码,在家里和公司的备注不同,但人还是那个人。

3
与 AI 的关联AI Context

.env 文件里写的 `DATABASE_URL=xxx` 就是环境变量。提到「放到环境变量里」时,

典型使用场景

管理敏感配置
告诉 AI「帮我把项目里的密钥和密码抽到环境变量,开发和生产用不同的 .env 文件,代码里不硬编码」
想弄懂概念时
告诉 AI「用大白话给我解释什么是环境变量,举个生活中的例子」

延伸阅读