.env 显示不正确的值

.env shows incorrect values

所以我有一个名为 .env 的文件,其中包含以下内容

NODE_PATH=./src
NODE_ENV=what
TEST=test

我在我的 React 应用程序中的 index.js 中调用它。

 require("dotenv").config();
console.log(process.env);

...

显示以下输出

NODE_ENV: "development"
PUBLIC_URL: ""

我想也许我在其他地方声明了另一个 .env 文件,但事实并非如此。我在我的项目中搜索了 PUBLIC_URL,但它不在我的项目中的任何位置。我什至不知道在这一点上还有什么要检查的。

如果您使用的是 CRA,那么您需要执行以下操作:REACT_APP_TEST=test 并重新加载开发服务器以使其在您的应用中按预期显示。

在 React 代码中,您必须在编译时编译环境变量,因为在 运行 时只能访问伪造的 process.env 对象。除非你使用服务器端渲染。

另请参阅:

如果您的项目 bootstrap 使用了 create-react-app,那么您必须使用环境变量,例如 REACT_APP_NODE_ENV=development

添加任何新的环境变量后,您必须重新启动开发服务器。