0

所以我有一个名为.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它不在我的项目中的任何位置。我什至不知道此时还要检查什么。

4

3 回答 3

1

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

另请参阅:在 webpack 中传递环境相关变量

于 2019-02-23T20:52:39.353 回答
0

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

于 2019-02-23T20:51:22.833 回答
0

如果您已用于create-react-app引导您的项目,那么您必须使用环境变量,例如REACT_APP_NODE_ENV=development.

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

于 2019-02-23T21:37:40.590 回答