Node.js是require的最佳实践

时间:2013-05-02 21:10:02

标签: node.js express mongoose

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

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

这一切都运作良好,但它是在所有这些文件中需要mongoose的最佳方式吗?或者有更好的方法吗?

2 个答案:

答案 0 :(得分:4)

嗯,“ best ”很难肯定。但是,你所做的是一种常见的做法,在大多数情况下应该没问题。

第一次mongoose是必需的,它将是cached for subsequent requires

  

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

     

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

答案 1 :(得分:0)

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