json - Node.JS/Express 在 JSON 中存储不同环境的数据库配置

标签 json node.js express

我正在运行 NodeJS Express 应用程序,

当前有 dev env、test env 和 prod env。

但是,数据库连接设置在代码中,是否有一种安全且最佳实践的方法来以 JSON 文件格式存储数据库配置和所有其他配置,方法是在模块中声明它们(分别为每个环境或要导出的一个模块中的所有配置,可能有一个 default.JSON、Dev.JSON、Prod.JSON...等),然后通过在 app.js 中为正确的环境设置正确的配置来相应地要求它们。

我想在不依赖任何第三方包(如 .env 或 ncof)的情况下实现这一目标。

最佳答案

大多数主要 NodeJs 托管提供商都使用简单的环境变量。您可以使用这个:

process.env.NODE_ENV

要自行定义它,例如在本地进行“开发”,您可以执行以下操作:

NODE_ENV=developpment node yourapp.js

因此,我建议您使用配置工具,例如 nconf(有一些很好的竞争对手)。例如,您可以这样做:

nconf
    .argv() // Takes arguments from CLI
    .file('./env.' + process.env.NODE_ENV + '.json') // takes from specific env file
    .file('package', './package.json'); // takes from package.json

这里的优先级是从最重要到最不重要: 1) argv 2)具体环境文件 3)package.json

关于json - Node.JS/Express 在 JSON 中存储不同环境的数据库配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48208046/

相关文章:

javascript - 规则和夏令时

javascript - Node js表达路线/用户?限制= 20&偏移= 0

node.js - 错误: Cannot find module '../build/Debug/sqlclient'

json - Jolt Json转换: Set value by reference identifier (not index)

json - 我在使用arm模板部署存储帐户时遇到问题

javascript - Jade使用localStorage获取nodejs View

javascript - Mongoose:在数组中填充对象时出现问题

node.js - 语法错误 : Unexpected token import - Express

javascript - 从 osm 立交桥 API 读取和分析 JSON - 获取折线

c# - 将 Json 字符串反序列化为 Enum C#