React项目中Node脚本读取本地.env变量返回undefined该如何处理?
解决Node脚本无法读取React项目根目录.env变量的问题
首先安装
dotenv包,它是Node.js中加载.env文件的常用工具:npm install dotenv --save-dev # 或者用yarn yarn add dotenv --dev在你的脚本文件顶部,通过
path模块指定.env文件的正确路径(因为脚本在根目录的子文件夹中,需要向上回溯到根目录):const path = require('path'); // 加载根目录下的.env文件 require('dotenv').config({ path: path.resolve(__dirname, '../.env') });之后就可以正常通过
process.env.XXX读取.env中的变量了,比如:const apiUrl = process.env.REACT_APP_API_URL; console.log(apiUrl);
额外注意事项
- 确认根目录下的.env文件命名正确(就是
.env,没有多余后缀或拼写错误) - .env中的变量格式要正确,比如
KEY=VALUE,不要加引号(除非值本身包含空格) - 如果需要加载不同环境的.env文件(比如.env.production),可以根据
NODE_ENV动态指定路径:const envFileName = `.env.${process.env.NODE_ENV || 'development'}`; const envPath = path.resolve(__dirname, '../', envFileName); require('dotenv').config({ path: envPath });
内容的提问来源于stack exchange,提问作者bradrice
相关产品推荐
相关产品推荐

