我正在玩nodejs和sqlite3 服务器将用于使用express进行休息呼叫。
作为节点的新手,我有两个关于如何管理数据库连接的问题。
1)我打开/连接到
var db = new sqlite3.Database(file);
在侦听器之前然后在服务器退出时关闭连接或在每个路由中打开连接并在其余呼叫完成时关闭。
2)如何将连接传递给单独的路由文件?我试过基于一些例子,但得到错误信息"服务器初始化失败无法调用方法' indexOf'未定义" (参见例外情况下的代码)
Trace
at Object.<anonymous> (c:\Work2\server.js:154:13) at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain [as _onTimeout] (module.js:497:10)
at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
这些是
//server.js
var db = new sqlite3.Database(file);
var apiRoutes = require('./routes/apiRoutes')(db);
//apiRoutes.js
module.exports = (function (db) {
router.get('/userlist', function (req, res, next) {
res.json('{stuff...}');
});
return router;
})();
感谢您的帮助