所以我有一个名为.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
,它不在项目中的任何位置。我什至不知道此时还需要检查什么。
答案 0 :(得分:1)
在react代码中,您必须在编译时编译环境变量,因为在运行时只能访问伪造的process.env
对象。除非您使用服务器端渲染。
答案 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
之类的环境变量。
添加任何新的环境变量后,您必须重新启动开发服务器。