【问题标题】:How to run node app from sub-directory with .env variables of that sub-directory?如何使用该子目录的 .env 变量从子目录运行节点应用程序?
【发布时间】:2020-01-28 12:22:18
【问题描述】:

我有一个名为 app.js 的 Node.js 应用程序,它存储在目录 B 中。

要正确运行此脚本,它需要环境变量。它们存储在一个名为 .env 的文件中,该文件也在目录 B 中。

在我的 app.js 中,环境变量通过 require("dotenv").config(); 加载 然后我可以使用例如访问它们process.env.SOME_VAR

因此,如果我当前位于目录 B 中,我可以使用 node app 并且我的应用程序将正常执行。

但是如果我转到父目录 A 并尝试通过

运行我的应用程序

node ./B/app

它不会执行,因为它似乎无法访问 .env 文件的环境变量。

所以,我的问题是,如果我想将 .env 文件保存在同一目录中,如何从其父文件夹运行我的脚本?

【问题讨论】:

  • 如何加载.env 文件?你能分享一些代码吗?
  • 我编辑了我的帖子。我希望这能解决问题。

标签: node.js directory environment-variables


【解决方案1】:

您可以使用dotenv 来加载环境变量的内容,即

const dotenv = require('dotenv');

// ...

// Then go ahead to load the .env file content into process.env
dotenv.config({ path: '/full/custom/path/to/your/env/vars' });

【讨论】:

  • 我也可以使用 .env 文件的相对路径吗?像'./.env'
  • @nexus186 是的,你可以。
猜你喜欢
  • 2011-02-23
  • 2017-03-12
  • 2015-02-17
  • 1970-01-01
  • 1970-01-01
  • 2020-01-15
  • 2017-05-15
  • 2015-01-30
  • 2015-02-15
相关资源
最近更新 更多