我目前正在编写一个node.js项目,我在其中定义并实例化了主ES6类中的rethinkdb变量。
我的问题是,在不重新实例化相同变量或进行另一个数据库连接的情况下,在所有后续项目类中共享数据库变量的最佳方法是什么? A" Global"这样的变数。
这样的事情唯一的方法?无论如何将其定义为全局?
const db = require('rethinkdb');
db.connect({
host: config.db.host,
port: config.db.port,
authKey: config.db.authkey,
ssl: {
ca: content
}
}, function(err, conn) {
if(err) {
fail(err)
} else {
success(conn)
}
});
new ClassName(db);
编辑:
我还可以考虑创建一个db类,其中db变量是一个单例?这是最好的方式吗?
答案 0 :(得分:0)
您可以使用module.exports
,因此您的db变量必须是该对象。
module.exports = {
db: require("rethinkdb")
}
module.exports.db.connect(...);
到现在为止,我忘了module.exports
是否有require
每次需要模块时运行的内置函数,但这样它应该可以正常工作。