在模块之间共享应用设置

时间:2017-12-10 05:39:04

标签: javascript node.js mongodb configuration configuration-files

我不确定我是否采取了错误的做法来采用这种方法,但我有一个模型&收集包我写作(将mongodb结果作为模型公开),并且我试图采用模块化方法,但在模型中,有host之类的设置,portpassword我认为不应该硬编码到模块中。

我的应用程序有一个app.config对象,允许您获取某些设置,我希望能够在模型模块中使用它,但我不想要求模块:{每次我需要用户模型时,脚本中都会{1}},因为这只会导致代码重复。

以下是我想到的一些解决方案:

  • 处长

    • 创建一个名为require('models/user')(app.config)的对象,并在启动模块中分配所有模型并将设置传递给它们
    • 缺点:我更喜欢文件中的app.models模型模块
  • Global Config

    • 创建一个链接到require的全局变量,可以在任何模块中访问。

    • 缺点:无法在同一过程中创建多个应用:(

1 个答案:

答案 0 :(得分:1)

您可以将配置放在自己的文件中,并从每个模型导入/要求它。

例如,在models/user ...

const config = require('config')

...以及您设置app.config ...

的任何地方
app.config = require('config')