Node.js配置文件与.env架构实践和构建模式

时间:2019-05-06 16:14:53

标签: javascript node.js design-patterns configuration architecture

我正在Node.js上开发服务器端应用程序,并考虑使用config文件。但是当我用Google搜索它时..和现在相比,我有更多的问题要回答。

  

就我而言,我有很多函数,它们的参数类型不同   sensitivity不仅仅是secret, tokens, keys。这大部分   参数取决于用户。例如,启动应用程序的用户用于   定义(通过CLI [提示]):天数,多少次   将在何时何地执行等

例如,我只检查了这个question和那个article。我的问题很简单:

  

使用哪个,为什么? (或在哪里可以找到更多有关它的信息)仅使用.env文件,还是仅使用config.json,或者可能都使用上面的文章?是否将所有设置存储在package.json中是否确定? (例如在此question中)

如果经验丰富的JS开发人员告诉我应该使用什么以及为什么使用,我会感到非常高兴。

即使这个问题被标记为answered,也可以随时告诉我(以及SO上的每个人)您遇到这种问题的经历。但是请记住,我并不是在问*How to do it*DotEnv的用法(或任何其他npm模块)。都是关于模式和实践的。

1 个答案:

答案 0 :(得分:1)

  

是否可以将所有设置存储在package.json中?

从理论上讲,您可以做到这一点。但是您想配置您的服务,并且通常使用不同的配置运行相同的程序包。因此,拥有某种配置文件确实很有意义,然后可以为本地测试服务器,开发服务器,生产服务器等设置不同的配置。

  

.env文件或config.json吗?

这完全取决于您。但是.env文件似乎不支持任何嵌套数据,我认为这对于配置确实有用。我一直使用config jsons,到目前为止效果很好。

  

就我而言,我有很多函数,它们的参数具有不同类型的敏感性,而不仅仅是秘密,令牌,密钥。

对于生产环境中的敏感数据,您应该真正使用秘密存储(例如Vault)。用于本地测试 环境无关紧要。

  

大多数值取决于用户

然后将它们存储在配置文件中,或使用数据库。