【问题标题】:Unable to access mailgun credentials with process.env in a node app无法在节点应用程序中使用 process.env 访问 mailgun 凭据
【发布时间】:2020-07-11 21:57:14
【问题描述】:

我有一个节点应用程序,在 .env 文件中,我存储了凭据 - api_keydomain。现在,我无法在我的应用程序的任何地方访问凭据,更不用说我需要它们的部分了。我尝试了process.env.api_keyprocess.env.domain,得到了以下错误,导致我的应用在编译之前就崩溃了。

Error: apiKey value must be defined!

这是我的 auth 对象:

const auth = {
  auth: {
    api_key: process.env.api_key,
    domain: process.env.domain  
  }
}

.env

api_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
domain="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.org"

当我尝试直接使用凭据时,一切正常,但我想这样做不是一个好主意。

【问题讨论】:

    标签: node.js smtp mailgun api-key


    【解决方案1】:

    单独拥有.env 不会做任何事情,因为 Node.js 不处理该文件。您需要加载它,您可能需要使用:dotenv 包。

    require('dotenv').config(); // very beginning of the file
    
    // process.env.api_key will have a value now.
    // rest of your code.
    
    

    dotenv require 必须在任何其他 require 之前。

    【讨论】:

    • 我已经有了。我也通过.env 使用其他凭据。问题在于 mailgun 的凭据。
    • 显示你的其余代码,也许你在加载之前加载了另一个包dotenv
    • 检查更新,把dotenvrequire放在文件的最开始。
    猜你喜欢
    • 2021-10-27
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多