jef*_*eon 6 javascript commonjs node.js
我正在为node.js应用程序使用node-mysql驱动程序.我没有为每个类似模型的模块反复设置mysql连接,而是这样做:
// DB.js
var Client = require('mysql').Client;
var DB_NAME = 'test_db';
var client = new Client();
client.user = 'user';
client.password = 'pass';
client.connect();
client.query('USE '+DB_NAME);
module.exports = client;
// in User.js
var db = require("./DB");
// and make calls like:
db.query(query, callback);
Run Code Online (Sandbox Code Playgroud)
现在,我注意到DB.js仅使用DB连接初始化一次.因此,随后使用相同的client对象...如何构建DB.js,以便当我从模型中需要它时,每次设置新的数据库连接?我知道它与使用有关new,但我无法绕过它.
module.exports = function() {
var client = new Client();
client.user = 'user';
client.password = 'pass';
client.connect();
client.query('USE '+DB_NAME);
return client;
}
var db = require("./DB")()
Run Code Online (Sandbox Code Playgroud)
每次调用数据库时初始化一个新客户端.
您可以使用自定义getter逻辑Object.defineProperty来定义exports,以便您可以执行此操作var db = require("./DB").
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |