假设我有这样一个代码来在expressjs中分离路由:
module.exports = function(express,app,client) {
app.get('/', function(req,res,next) {
var query = 'SELECT * FROM users LIMIT 10';
var user = client.query(query, function (err, results, fields) {
res.render('index', {
title: 'test',
users: results
});
client.end();
});
});
}
然后在app.js
中要求它:
require('./controllers/routes.js')(express,app,client);
1) 如何以最佳方式将数据库查询拆分到新文件中?即使我分离了数据库逻辑,该文件也会变得非常大。
2) 分离路由的好方法是什么?也许是分离模块?然后在app.js
中引用它们?
require('./routes')(app);
吗? - ThomasReggidatabase.query(query, callback);
不会导致 node 应用挂起吗?我最近也在编写类似的东西,但我的做法是使用一些事件来处理。不过我对 node 还比较陌生,不确定我的做法是否正确。 - Eduárd Moldovánsleep()
来“挂起”应用程序。但是,与此同时,如果你想要的话,可以执行其他操作(如对数据库进行多个查询、并行处理等)。如果你所说的“挂起”是指等待回调函数执行完成,那么是的 :-) - alessioalexrequire('./routes/index')(app)
- aliopi