.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
。
添加任何新的环境变量后,您必须重新启动开发服务器。
所以我有一个名为 .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
。
添加任何新的环境变量后,您必须重新启动开发服务器。