Reactjs process.env位于哪里
我正在学习React和React Redux,并试图编辑我发现的现有项目 在Reactjs process.env位于哪里,reactjs,react-redux,environment-variables,Reactjs,React Redux,Environment Variables,我正在学习React和React Redux,并试图编辑我发现的现有项目 在reducers文件夹中,有一个文件包含以下代码行: const { data } = await client(`${process.env.REACT_APP_BE}/videos`); 但是没有声明process.env。在哪里可以找到该文件?那不是一个文件,它是一个环境变量。它是在应用程序运行的上下文中定义的,可能是一个启动脚本 下面是一个示例应用程序和启动命令,以说明: main.js: console.lo
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的答案,
进程是一个节点全局对象,它保存与当前运行进程相关的信息和实用程序,还包括argv
(参数列表),uptime
等。process.env
列出了所有当前的环境变量(您可以通过运行node
然后在节点REPL中运行process.env
来查看)。这些环境变量来自您的系统、shell配置,在节点项目的上下文中,也从.env
文件等源加载(通常使用dotenv
等库)在macOS和Linux上,您可以通过运行env
(在Windows上是SET
)来查看shell会话的所有当前环境变量。它不是一个文件,process.env
从主机公开环境变量(实际上是通过网页包的“定义插件”)对于客户端代码,我展示了与CRA类似的手动设置)。您可能还有一个.env
文件,用于在您的环境中设置这些变量,该文件由dotenv
包加载。它不是一个文件,而是一个在应用程序生成和运行之前设置了环境变量的对象。您应该用于react应用程序。是的,它是一个文件。env
是一个文件,但process.env.react\u app\u BE
不是,这就是OP最初的问题(“在哪里可以找到文件process.env.REACT\u APP\u BE?”)。好的,当您使用纱线开始
运行项目时,它应该在开发期间的文件中定义,甚至纱线构建
也会使用。通常,当您使用CI构建时,只使用/设置实际的环境变量。react脚本会将文件中的值设置为环境变量,但您通常不会设置v按照你在回答中的建议自己改变自己。我会看看你启动应用程序的方式(脚本/命令)然后按照执行路径进行操作,直到找到环境变量的设置位置。
可以使用替换为@HMR。env
和相关库(如dotenv
)完全是一个优先事项,语句“通常在使用CI构建时只设置实际的环境变量”这也是不正确的,因为它假设每个人使用的工作流与Facebook开发者推荐的初学者模板完全相同。