将 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_CALLBACK
和GATSBY_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 + Contentful 网站部署到 Netlify