reactjs - React 应用程序部署未定义 Netlify 环境变量

当我在本地主机时,我有一个 .env.local 文件,我从中获取 api key 。当我将我的应用程序部署到 netlify 时,netlify env var 不起作用。我在 netlify 仪表板上设置了环境变量,所以它应该可以工作。我什至为另一个项目做了这个并且没有问题。 这是我设置 api key 的代码:

let movieDbApiKey = "";

if (process.env.NODE_ENV !== "production") {
  movieDbApiKey = process.env.REACT_APP_MOVIEDB_API_KEY;
  console.log("not in production build");
} else {
  movieDbApiKey = process.env.MOVIEDB_API_KEY;
  console.log(process.env.MOVIEDB_API_KEY);
  console.log("in production build");
}

在本地,REACT_APP_MOVIEDB_API_KEY 返回一个值。当我部署它时,我在 netlify 仪表板中设置的 var 返回未定义。我准确地命名了它在文件中的名称。它也在生产版本中,所以我不确定问题出在哪里。

最佳答案

  1. React 变量应该以 REACT_APP 开头

  2. 将变量放在站点设置 > 构建和部署 > 环境 > 环境变量中。

  3. 重建 React 应用程序。

我希望这能解决问题。

https://stackoverflow.com/questions/63220149/

相关文章:

shopify - 如何使用 Shopify API 更新电子邮件模板(通知)?

amazon-web-services - ECS 服务的两个或多个实例之间的通信

reactjs - 如何在 React 中添加对状态码 400 的验证

java - 在代码中解密 AES 加密的授权 token 方法时 Jar 崩溃。 hs_err _

delphi - TEdgeBrowser 导航失败,出现错误 "File not found"

docker - WSL2 上禁用了 bridge-nf-call-iptables 和 bridg

python - 我可以向父跨度 Datadog 添加标签吗

r - 以矩阵形式计算我的投资组合中股票之间的 beta

swagger - 我如何记录我没有所有权的对象?

css - 实现背景过滤器 : opacity(0%) in CSS