【问题标题】:Missing environment variables when app is deployed to app engine将应用部署到应用引擎时缺少环境变量
【发布时间】:2020-06-03 01:40:26
【问题描述】:

我是节点开发的新手,正在努力从应用引擎获取环境变量。我正在尝试将网络服务器部署到 Google App 引擎。

在开发过程中,我使用“dotenv”包来获取变量。一切都按预期工作。

使用 app.yaml 部署到引擎时。我错过了所有未定义的变量。 目前我正在使用节点 12.5.0 并在 app.yaml 中使用 runtime: nodejs12

runtime: nodejs12
env_variables:
  AccountID: "XXXXXXXXXXXXXX"
  Token: "somethingrandom"

.env

AccountID=myacccountID
Token=mytoken

index.js

require("dotenv").config();

let accountid = process.env.AccountID
console.log(accountid);

在我的本地环境中,我得到了正确的价值。 但是在 GAE 上我变得不确定

以前我什至尝试过包含 .env 文件并在 App 引擎中使用“dotenv”库,并且效果很好。但是现在不行了。

【问题讨论】:

  • 编辑您的问题并包含一个显示此问题的最小示例。
  • 我已经更新了示例。

标签: node.js google-app-engine google-cloud-platform


【解决方案1】:

抱歉打扰各位了。 喝了 4 杯咖啡后,我终于明白了这个问题。 在我的 env 文件中,我将 AccountID 作为 varraible,但在我的代码中,我使用的是 process.env.accountID

这是未定义的。 终于想通了。但是我想知道为什么编译器没有在本地机器中抛出任何错误。

【讨论】:

  • 这意味着您在问题的代码示例中提供了不正确的详细信息。请编辑您的问题以显示实际问题。
  • 正如我在代码中提到的。我 .env 变量设置为 AccountID=xxxxxxx 但在代码中我在 let accountID = process.env.accountID 下面调用你可以看到,当在 env 文件中删除时,我的变量以大写开头,在代码中我用小写变量名调用
猜你喜欢
  • 2019-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-10
  • 2021-04-12
  • 1970-01-01
  • 2021-06-19
  • 2018-06-02
相关资源
最近更新 更多