0

我正在创建一个 Express 应用程序并使用 Mongoose 来保存数据。

我创建了一个用户模型(用户名和密码)。它需要能够被保存。所以我require('mongoose')在 Models/user-model.js 中使用。在用户的路线中,我希望能够获得所有用户或只是找到一些用户。所以我也需要去require('mongoose')那里。同样在主 js 文件(app.js)中,我创建了一个到数据库的连接,所以那里也有一个require('mongoose')

这一切都很好,但这是在所有这些文件中要求 mongoose 的最佳方式吗?还是有更好的方法来做到这一点?

4

2 回答 2

4

嗯,“最好”很难确定。但是,您所做的是一种足够普遍的做法,在大多数情况下应该没问题。

第一次mongoose是必需的,它将被缓存以供后续要求

模块在第一次加载后被缓存。这意味着(除其他外)每次调用都require('foo')将返回完全相同的对象,如果它会解析为同一个文件。

多次调用 require('foo') 可能不会导致模块代码被多次执行。[...]

于 2013-05-02T21:50:22.830 回答
0

考虑到模块缓存...您认为创建一个全局 APP 对象并将模型和库之类的东西存储在引导程序中然后将该对象传递给其他模块或仅在需要时需要模块依赖项是一个好主意吗不管我们的模块是否有很多 require() 语句?

于 2014-10-25T05:40:11.117 回答