通过模块导出重用 pg-pool

Ant*_*ica 5 postgresql node.js node-postgres node-pg-pool

阅读文档后:https : //github.com/brianc/node-pg-pool,我有点担心重用该new Pool()方法。

文档建议我需要像这样放置new Pool()beforeexportsreturn

// db.js
const pool = new Pool();
module.exports = () => { return pool; }
Run Code Online (Sandbox Code Playgroud)

这样我就可以重用,Pool直到idleTimeoutMillisclient.release(),通过使用require()其他文件,例如:

const connect = require('./db')
connect().query(' .... ');  
Run Code Online (Sandbox Code Playgroud)

如果这是正确的,它如何工作的?node.js 是否缓存new Pool(), 因为它不在里面module.exports

msc*_*dex 4

是的,它被有效地缓存,因为您只创建一次(并且节点缓存模块)并且您始终在导出的方法中引用同一实例。