我正在使用node.js / Express 3 / Mongoose / MongoDB构建一些Web服务。我通常会看到人们将路由从server.js
移动到外部文件的两种方式,我想知道主要区别是什么,如果一个比另一个好?我已经概述了以下两种技术。我倾向于使用方法2,但我发现require('./routes/cats')(app, CatModel);
之前没有var =
看起来不正确。
有些人似乎这样做:
// server.js
app.get('/cats', cats.findAll);
// routes / cats.js
exports.findAll = function(req, res) {
// Lookup all the cats in MongoDB / CatModel.
};
//在server.js中
require('./routes/cats')(app, CatModel);
//在routes / cats.js
中module.exports = function(app, CatModel) {
app.get('/cats', function (req, res) {
CatModel.find({}, function (err, docs) {
if (err || !docs) {
res.json(kStatusInternalServerError, {error: err});
console.log(err);
} else {
res.json(kStatusOk, docs);
}
});
});
};
答案 0 :(得分:1)
默认方式是第一种 - 这就是我们大多数人使用它的原因。我更喜欢把我所有的路线都放在app.js中,所有的实际都在其他地方发生。我还没有看到生产中的第二种方式,我没有看到纠结路由与逻辑的优势。