【发布时间】:2018-05-23 23:47:32
【问题描述】:
我不确定我是否对这种方法采取了错误的做法,但我正在编写一个模型和集合包(将 mongodb 结果作为模型公开),并且我正在尝试采用模块化方法对此,但是在模型中,我认为不应将 host、port、password 等设置硬编码到模块中。
我的应用程序有一个 app.config 对象,允许您获取某些设置,我希望能够在模型模块中使用它,但我不想要求模块为:require('models/user')(app.config) 在每次我需要用户模型时都编写脚本,因为这只会导致代码重复。
以下是我想到的一些解决方案:
-
注册商
- 创建一个名为
app.models的对象并在启动模块中分配所有模型并将设置传递给它们 - 缺点:我更喜欢
require文件中的模型模块
- 创建一个名为
-
全局配置
创建一个链接到
app.config的全局变量,可以在任何模块中访问。缺点:不能在同一个进程中创建多个应用:(
【问题讨论】:
-
通常我会使用全局配置,但你提到
Can't create multiple apps in the same process。不知道是什么意思,要动态设置,动态创建应用吗?
标签: javascript node.js mongodb configuration configuration-files