【问题标题】:How to set process.env from the file in NodeJS?如何从 NodeJS 中的文件设置 process.env?
【发布时间】:2017-07-12 03:05:14
【问题描述】:

我是 Node.JS 的新手。我发现很少有文章说我们可以使用 .env 文件来设置 process.env 变量,例如,

PORT = 8081

但是当我在我的节点中运行程序时,它仍然是 8080 端口(默认情况下)。问题是如何在没有任何其他 3rd 方模块帮助的情况下在 Node 中设置 env 变量? (我发现管理 env 配置的 3rd 方包很少,但是......有点困惑,不同的包可能有不同的规则和更复杂的用例;我想从清晰的方式开始学习纯 nodejs)

更新

我已阅读 StackOverFlow 上的 Node Environment Setting 帖子,但它们是使用 3rd 方包进行引用的,它们都没有说明详细步骤。 (windows 系统环境,或者 Linux 环境变量...但是如何将设置放入我的项目文件夹中?!)

【问题讨论】:

  • 你可以参考这里:stackoverflow.com/questions/22312671/…希望帮助你!
  • @TungNguyen 我已经阅读了那篇文章,但他们是使用 3rd 方包进行参考的,他们都没有告诉详细步骤。 (无论是windows系统环境,还是Linux环境变量……但是如何将设置放入我的项目文件夹中?!)

标签: node.js environment-variables


【解决方案1】:

制作一个包含以下内容的 config.js 文件:

module.exports = {
    bar: 'someValue',
    foo: 'otherValue'
    ...
}

然后你可以在某个文件中这样做:

const config = require('./config');
let foo = config.foo;

【讨论】:

  • 我的系统有一个 process.env 对象(我不知道它来自哪里;这是关键问题)。它在 c9.io 机器上。
  • process.env 是获取环境变量的别名!
【解决方案2】:

Dotenv 文件已成为最流行的将配置与应用程序分离的模式,使用系统环境变量(请参阅12factor config)。

在节点上有很多用于从 .env 文件加载配置的库。最受欢迎的是motdotla/dotenv。 你可以在自述文件中阅读很多关于这个库使用的例子

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-26
  • 2017-08-03
  • 1970-01-01
  • 2016-05-26
  • 1970-01-01
相关资源
最近更新 更多