.env显示不正确的值

时间:2019-02-23 20:43:34

标签: reactjs dotenv

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

3 个答案:

答案 0 :(得分:1)

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

另请参阅:Passing environment-dependent variables in webpack

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果您使用/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/bin/keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key 来引导项目,则必须使用create-react-app之类的环境变量。

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