将 Gatsby 部署到 Heroku... .env 变量不起作用

Posted

技术标签:

【中文标题】将 Gatsby 部署到 Heroku... .env 变量不起作用【英文标题】:Deploying Gatsby to Heroku... .env variables not working 【发布时间】:2022-01-20 23:29:30 【问题描述】:

我正在尝试将我的 Gatsby 应用与 auth0 部署到 Heroku,但它不像在 localhost 上那样工作。

我的 .env 文件中有 auth0 配置,并将所有必需的 URL 添加到 auth0 仪表板。

为了部署它,我在 auth0 仪表板中添加了相关的生产 URL,并在 Heroku 中设置了环境变量。我尝试了AUTH0_CALLBACKGATSBY_AUTH0_CALLBACK(为了客户端可用性),但都没有工作。

为了查看环境变量是否可用,我添加了这个process.env...,在本地主机上,我可以看到这里的变量内容,在 Heroku 版本上什么都没有。

const Account = () => 
if (!isAuthenticated()) 
    login()
    return <p>Redirecting to login... process.env.AUTH0_DOMAIN</p>

有人知道如何使环境变量可访问吗?

【问题讨论】:

试试 REACT_APP_AUTH0_DOMAIN,React 环境变量需要一个前缀 当您在它们前面加上 GATSBY_ 时,您是否在两个(本地和 Heroku)环境中都重命名了? 【参考方案1】:

查看 Heroku 配置变量 - https://devcenter.heroku.com/articles/config-vars - 您可以使用 Heroku CLI 或仪表板进行设置。

配置变量作为环境变量暴露给您的应用代码。例如,在 Node.js 中,您可以使用 process.env.DATABASE_URL 访问应用程序的 DATABASE_URL 配置变量。

【讨论】:

以上是关于将 Gatsby 部署到 Heroku... .env 变量不起作用的主要内容,如果未能解决你的问题,请参考以下文章

将 Gatsby 博客部署到 Netlify 时出错

将 Gatsby + Contentful 网站部署到 Netlify

hasura graphql server 集成gatsby

将nodejs部署到heroku

如何将nodejs和vuejs部署到heroku

无法将python代码部署到heroku