.env 常量在 React 项目中不可读
.env constants not readable in React project
我在尝试获取 React 应用程序中 .env
文件的常量时遇到问题。我的应用程序结构非常基本:
my-react-app/
|- .env
|- .gitignore
|- .prettierrc
|- node-modules/
|- public/
|- src/
|- Base.js
|- App.js
|- package.json
|- yarn.lock
|- README.md
我正在使用 react-scripts
版本“3.2.0”
.env
看起来像这样:
# .env
# Auto-logout values
REACT_APP_LOGOUT_PERIOD_MINS=15
并且 Base.js
文件如下所示:
require('dotenv').config({ path: '../.env' })
console.log(process.env)
export const LOGOUT_PERIOD_MINS = process.env.REACT_APP_LOGOUT_PERIOD_MINS
我从 Base.js
中的 console.log()
调用中得到的是:
{NODE_ENV: "development", PUBLIC_URL: ""}
我试过将 Base 放在根目录中,但出错了,因为它在 src
之外。我试过使用和不使用 path
配置设置。我做错了什么?
我认为您不需要在 CRA 中要求 dotenv,没有它应该也能工作。显式导入它并设置路径可能会覆盖默认的 CRA .env 设置。
根据我的评论,您可能想要关闭终端 window 并从新终端重新 运行 yarn start
。 9/10 这就是环境变量未显示的原因。 :)
我在尝试获取 React 应用程序中 .env
文件的常量时遇到问题。我的应用程序结构非常基本:
my-react-app/
|- .env
|- .gitignore
|- .prettierrc
|- node-modules/
|- public/
|- src/
|- Base.js
|- App.js
|- package.json
|- yarn.lock
|- README.md
我正在使用 react-scripts
版本“3.2.0”
.env
看起来像这样:
# .env
# Auto-logout values
REACT_APP_LOGOUT_PERIOD_MINS=15
并且 Base.js
文件如下所示:
require('dotenv').config({ path: '../.env' })
console.log(process.env)
export const LOGOUT_PERIOD_MINS = process.env.REACT_APP_LOGOUT_PERIOD_MINS
我从 Base.js
中的 console.log()
调用中得到的是:
{NODE_ENV: "development", PUBLIC_URL: ""}
我试过将 Base 放在根目录中,但出错了,因为它在 src
之外。我试过使用和不使用 path
配置设置。我做错了什么?
我认为您不需要在 CRA 中要求 dotenv,没有它应该也能工作。显式导入它并设置路径可能会覆盖默认的 CRA .env 设置。
根据我的评论,您可能想要关闭终端 window 并从新终端重新 运行 yarn start
。 9/10 这就是环境变量未显示的原因。 :)