【问题标题】:How to set up environment variables for client directory on Heroku如何在 Heroku 上为客户端目录设置环境变量
【发布时间】:2021-09-03 17:00:41
【问题描述】:

我目前的目录结构如下:

-client
    -App.js
    -package.json
    -.env
server.js
models
routers
package.json
.env

我知道如何在 Heroku 的根目录下的 .env 中设置变量,但不知道在 client 目录下的 .env 中的变量。有没有办法做到这一点?

我在客户端 package.json 中使用了代理。

当我在本地环境中使用两个 dotenv 文件时,它运行良好。但是,当我尝试在heroku中部署时,我不知道如何将客户端dotenv文件中的变量设置为Heroku中的环境变量。

This post 提出同样的问题,但没有任何答案。

【问题讨论】:

  • 我也有同样的问题...你解决了吗?
  • @Junaid 我最终破坏了客户端目录并将其中的所有内容移至根目录。部署两个 Heroku 应用程序,一个用于客户端和服务器,也可以工作

标签: reactjs heroku environment-variables


【解决方案1】:

  1. 登录heroku
  2. 选择项目
  3. 进入设置标签
  4. 在那里你可以找到配置变量 添加键,值 例如:- 键 APP_PORT ,值 8000 在代码库中,您可以通过 process.env.APP_PORT

【讨论】:

  • 我知道如何在 Heroku 上添加配置变量。这根本不是我的问题。我问如何专门为客户端目录添加配置变量。
  • 我们不能按目录指定。我们必须只为 root 添加配置变量,否则更改将在客户端目录中使用的键名
  • 是的,这是我的问题。但我认为您的解决方案行不通。如果我仅为 root 添加配置变量,则客户端目录无法访问它们。我怀疑简单地更改键名会起作用。我猜你的回答是不可能的。
  • 否,我们可以通过 process.env.KEy 访问目录内的任何文件
  • 不是,从我的目录结构可以看出,有两个package.json文件。换句话说,从client/目录内部访问的process和从client/目录外部访问的process是不同的。对于客户端目录,根目录定义为client/,因此它会在client/ 中查找.env,因此它无法访问根环境文件中定义的环境变量。你可以自己试试。
猜你喜欢
  • 2019-04-07
  • 1970-01-01
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-01
  • 1970-01-01
  • 2021-07-30
相关资源
最近更新 更多