You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vite/React & Node.js应用无法读取.env环境变量求助

解决Node.js后端读取.env环境变量返回undefined的问题

核心问题

你混淆了前端(Vite/React)和后端(Node.js)的环境变量机制:

  • VITE_前缀是Vite给前端代码提供的环境变量规则,后端Node.js不识别;REACT_APP_是Create React App的规则,同样不适用于后端。
  • import.meta.env是Vite前端专属的环境变量读取方式,后端Node.js环境不存在这个对象。
  • cross-env仅用于跨平台设置命令行环境变量,不能自动加载.env文件。

具体解决方案

  1. 安装后端环境变量加载工具dotenv
npm install dotenv --save
  1. 修正后端.env文件配置
    删除多余前缀,且等号前后不要留空格(避免读取异常):
API_KEY='你的GPT密钥'
  1. 在server.js中加载并读取变量
  • 如果是CommonJS模块(用require):
// 放在server.js最顶部
require('dotenv').config();

// 读取变量
console.log(process.env.API_KEY);
  • 如果是ES模块(package.json中设置了"type": "module"):
// 放在server.js最顶部
import dotenv from 'dotenv';
dotenv.config();

// 读取变量
console.log(process.env.API_KEY);

额外注意事项

  • 确保.env文件和server.js在同一目录下,dotenv默认会加载当前工作目录下的.env文件。
  • 将.env添加到.gitignore中,避免密钥泄露。

内容的提问来源于stack exchange,提问作者Stef Verniers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 16:14:58