首页 > 解决方案 > 将应用部署到应用引擎时缺少环境变量

问题描述

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

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

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

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.jsgoogle-app-enginegoogle-cloud-platform

解决方案


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

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


推荐阅读