我正在学习React和React- redux,我正在尝试编辑我发现的现有项目。
在reducers
文件夹中有这样一行代码:
const { data } = await client(`${process.env.REACT_APP_BE}/videos`);
无process.env
申报。我在哪里可以找到那份文件?
这不是一个文件,它是一个环境变量。它是在应用程序运行的上下文中定义的,假设是一个启动脚本。
下面是一个示例应用程序和启动命令来说明:main.js:
console.log(process.env.MY_VAR);
开始使用:
> MY_VAR="hello world" node main.js
hello world
添加:正如其他人指出的那样,如果您使用create-react-app创建应用程序,那么本文将介绍如何使用项目根文件夹中的.env
文件来设置此类环境变量。因此,它似乎正在使用这个包,您可能会发现它在其他上下文中也很有用。
否则,我会看看你启动应用程序(脚本/命令)的方式,并遵循执行路径,直到你找到环境变量设置的位置。
为了补充Christian的回答,process
是一个Node全局对象,它保存与当前运行进程相关的信息和实用程序,还包括argv
(参数列表),uptime
等。process.env
列出了所有当前环境变量(您可以通过运行node
,然后在Node REPL中运行process.env
来查看)。这些环境变量来自您的系统、shell配置和Node项目的上下文中,也从.env
文件(通常使用dotenv
之类的库)和docker-compose文件等源加载。在macOS和Linux上,你可以通过运行env
(在Windows上是SET
)来查看shell会话的所有当前环境变量。