多个导入相同的依赖/服务

时间:2016-06-14 01:56:07

标签: javascript node.js web-services npm

我遇到了node的问题,这可能会对我的应用程序的速度产生负面影响。

基本上我的问题是在我的应用程序中多个位置使用相同服务/依赖项的正确方法。

例如

// db.js File
Contains database connections and schema's
...


//app.js
db = require("db.js")
users = require("user-route.js")
webhooks = require("webhooks-route.js")
andOthers = require("andOthers-route.js")
...

// *-route.js    represents all route files
db = require("db.js")
...

正如您所看到的那样每条路线导入db.js 这会影响性能,如果是这样,您如何避免这样做?

1 个答案:

答案 0 :(得分:1)

缓存同一模块的多个要求。 换句话说,第一次" db.js"是必需的,它将被加载和评估,并且生成的模块对象被缓存在内存中。

require("db.js")的后续调用将只返回已经缓存的JS对象。

这是documented here: Node.js Modules - Caching