如何在node express应用程序周围传递对象?

use*_*099 4 postgresql module node.js express

我正在使用express和node-postgres构建节点应用程序(https://github.com/brianc/node-postgres).我只想构建一次db客户端连接,我希望能够从不同的模块访问这个db连接.做这个的最好方式是什么?我试图只导出数据库连接,而不是整个快递应用程序.从本质上讲,跨节点应用程序导出和访问对象的最佳方法是什么?

我已经检查了这个类似的问题,但它似乎特别适用于猫鼬.

使用mongoose/node.js共享数据库连接参数的最佳方法

Gab*_*mas 5

没有一种叫做"最好的方式"的东西.如果需要在不同模块中使用相同的对象,则必须将其包装在模块中.像这样的东西:

//db.js
var postgres = require (...)
var connection;

module.exports = {
  getConnection: function (){
    return connection;
  },
  createConnection: function (){
    connection = createConnection (postgress);
  }
};

//app.js - main file
require ("./db").createConnection ();

//a.js
var db = require("./db")
db.getConnection()

//b.js
var db = require("./db")
db.getConnection()
Run Code Online (Sandbox Code Playgroud)