javascript - 如何设置 heroku 环境变量出现在 NextJS 应用程序中?
问题描述
对我来说有点陌生,但我试图在我的页面上设置一个横幅,上面写着“当前环境:审查”或“当前环境:暂存”,具体取决于我在 Heroku 中的部署过程的哪个阶段。
目前,我在 Heroku 上有这样的环境变量:CURRENT_ENV: REVIEW
. 但是,当我尝试使用以下逻辑访问变量时,它们在我部署的应用程序中显示为未定义。我很好奇正确设置这些变量的正确方法是什么,以便我的应用程序能够检测它是否处于审查或暂存状态。
_app.ts
const getCurrentEnv = (): string => {
console.log(process.env.NEXT_PUBLIC_CURRENT_ENV, process.env.CURRENT_ENV);
// while deployed on heroku logs: PRODUCTION, undefined
return process.env.NEXT_PUBLIC_CURRENT_ENV === 'DEVELOPMENT'
? process.env.NEXT_PUBLIC_CURRENT_ENV
: process.env.CURRENT_ENV;
};
.env.production
NEXT_PUBLIC_CURRENT_ENV="PRODUCTION"
.env.development
NEXT_PUBLIC_CURRENT_ENV="DEVELOPMENT"
解决方案
推荐阅读
- python - Flask-Migrate 未检测到表
- data-structures - 为什么交联的 defstructs 会导致堆栈溢出?
- reactjs - React Native,Redux:获取更多/加载更多
- java - 从 .jar 到可导入包...如何?
- c# - 如何自定义 ASP.Net Core 模型绑定错误?
- javascript - 带有 microsoft graph javascript sdk 的多部分 HTTP 请求
- c# - UWP XAML NavigationMenu 更改行为
- spring-boot - cloud.aws.jdbc.datasource 抛出断言错误:Spring Boot 应用程序的密码不能为空
- postgresql - postgres \copy 命令给出错误:错误:“到”处或附近的语法错误
- python - Openpyxl 将字典写入电子表格