首页 > 解决方案 > 在我的 React 应用程序中访问 heroku config var

问题描述

我在我的 Heroku 应用程序中定义了一个配置变量“BASE_URL”,我试图在我的 React 应用程序中访问它

process.env.BASE_URL

但是当我 console.log 它似乎不存在时,它给了我 undefined 。如何在我的 React 应用程序中访问 Heroku 配置变量?

标签: node.jsreactjsherokuecmascript-6create-react-app

解决方案


如果您使用 Create React App(或 react-scripts),请在变量前面加上REACT_APP_,例如 ,REACT_APP_BASE_URL然后 Create React App会在构建过程中自动使用它的值,然后在process.env.

请注意,该值是在构建时根据进行构建的机器或进程上的环境确定的。如果构建是通过推送到 Heroku 来完成的,这通常是在 Heroku React 应用程序中,然后是在构建时在 Heroku 中设置的环境。

如果你没有使用 Create React App,而是使用 Webpack,你需要使用Webpack EnvironmentPlugin来定义你需要的环境。

注意:您不得以这种方式泄露任何秘密,例如 API 密钥或密码。所有这些变量的实际内容都附加到生产构建文件本身,只需阅读面向公众的代码文件即可自由访问。


推荐阅读