我使用创建反应应用程序引导我的应用程序。

我添加了两个。env文件。env.development和。env。生产在根。

我的. environment .development包括:

API_URL=http://localhost:3000/api
CALLBACK_URL=http://localhost:3005/callback

当我运行我的应用程序使用反应脚本启动和控制台进程。环境,它吐出

{ NODE_ENV: "development", PUBLIC_URL: "" }

我尝试了不同的事情,但它只是不拾起我的开发文件,我做错了什么?!

领导结构为:

/.env.development
/src/index.js

包中。Json脚本是:

"start": "export PORT=3005; npm-run-all --parallel server:start client:start",
    "client:start": "export PORT=3005; react-scripts start",
    "server:start": "node server.js",
    "build": "react-scripts build",

编辑:

@jamcreencia正确地指出我的变量应该以REACT_APP为前缀。

编辑2

如果我将文件命名为。env,它就可以工作,但如果我使用。env.development或。end.production就不行


当前回答

如果。env文件工作,但是。env.development或。env.development。然后在这两个文件旁边创建一个空的.env文件。我不知道为什么,但这对我来说很管用。

其他回答

我也没有得到任何价值。出于某种原因,我认为环境文件应该是dev.env, qa。env等等。实际上,它只是“。env”。就是这样。以防别人犯同样的错误。

对于那些应用了上面所有这些答案但没有工作的人,只要重新启动npm start的终端,停止活动服务器并再次运行它,它就会工作,因为它对我有用

如果。env文件工作,但是。env.development或。env.development。然后在这两个文件旁边创建一个空的.env文件。我不知道为什么,但这对我来说很管用。

添加.env文件后,您需要

重新启动应用程序 关闭服务器 再次运行NPM start

它应该能起作用

对于任何VS Code用户,请注意.env. conf文件。本地env文件是自动获取的,但当你在项目范围内搜索MY_ENV_VAR时,也会从搜索结果中自动忽略(可能是因为默认情况下git忽略了它)。这意味着如果你的.env. var =中有MY_ENV_VAR=。像我这样的当地人忘记了它,它会破坏东西,你会花15分钟非常困惑。