我应该使用NodeJS全局来为我的应用程序提供配置属性吗?

时间:2016-01-28 16:36:39

标签: node.js express

我的问题相对简单:

在NodeJS中,您可以使用

设置全局变量

GLOBAL.myConfigObject = {...}

我对开发者社区的质疑是这是否是最佳做法。如果没有,那么将配置变量(例如api-url或端口或IP地址)中继到整个应用程序的更好方法是什么。

3 个答案:

答案 0 :(得分:3)

不要为配置设置全局,而是为您正在启动的环境使用全局。设置包含每个环境的配置目录:

<强>配置/ local.js

module.exports = {
    port: 3000,
    ipAddress: "127.0.0.1"
}

<强>配置/ production.js

module.exports = {
    port: 443,
    ipAddress: "8.8.8.8"
}

在主文件中,您可以在其中启动服务器:

<强> server.js

var config = require("./config/" + process.env.NODE_ENV)
// use your config however you need it

从命令行启动服务器,然后执行:

NODE_ENV=local node server.js

这样,您有一个指示环境的全局变量,但您可以使用该环境所需的任何配置变量。

答案 1 :(得分:0)

这些配置的最常见方式,如port和api_keys,是环境变量。

的bash

$ set PORT=8080

您可以像这样访问环境变量

的node.js

node> process.env.PORT

答案 2 :(得分:-1)

在我的项目案例中,设置连接配置非常有用。我将它用于我的所有服务器,如果我必须更改我的数据库,我可以很容易地切换