如何使用 dotenv 在 TypeScript 中访问 .env 文件变量?

How to access .env file variables in TypeScript using dotenv?

我正在尝试使用 .env 文件在 TypeScript React 项目中存储 API 键。我的 .env 文件位于项目的根目录中,我正在尝试通过 process.env.

src/index.tsx 访问它的变量

.env:

FOO=foo

src/index.tsx:

import * as dotenv from "dotenv";

console.log(dotenv.config()); // prints TypeError: fs.readFileSync is not a function
console.log(process.env.FOO); // prints undefined

看起来 dotenv.config() 抛出了一个错误,所以我认为这就是问题所在。只是不确定如何解决它。我试过将 .env 移动到 src 目录并将路径传递给函数,例如dotenv.config({ path: `${__dirname}/.env` }) 但仍然出现相同的错误。

dotenv 似乎是在 Node.js 项目中使用环境变量的最常见方式,但如果有更好的选择,我也有兴趣听听这些。

如有任何想法和想法,我们将不胜感激。

将环境变量重命名为 REACT_APP_FOO 并重新启动 react-scripts 似乎可以解决问题。它无需调用 dotenv.config() 即可工作。不太确定为什么会这样工作,所以我很想听听某人对此的见解。

您可以通过首先在项目根目录调用 require('dotenv').config() 来访问变量。然后你可以像 process.env.FOO.

这样使用它们

您必须考虑调用 process.env.FOO