node.js / Express / MongoDB RESTfull API的最佳设计是什么?

时间:2014-04-29 23:21:11

标签: node.js express mongoose

我正在使用node.js / Express 3 / Mongoose / MongoDB构建一些Web服务。我通常会看到人们将路由从server.js移动到外部文件的两种方式,我想知道主要区别是什么,如果一个比另一个好?我已经概述了以下两种技术。我倾向于使用方法2,但我发现require('./routes/cats')(app, CatModel);之前没有var =看起来不正确。

  1. 按功能划分。路由在server.js中在线构建,但逻辑被移动到外部文件。
  2. 有些人似乎这样做:

    // server.js

    app.get('/cats', cats.findAll);
    

    // routes / cats.js

    exports.findAll = function(req, res) {
        // Lookup all the cats in MongoDB / CatModel.
    };
    
    1. 通过App。应用程序传入,路由建立在它之上。
    2. //在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);
                  }
              });
          });
      };
      

1 个答案:

答案 0 :(得分:1)

默认方式是第一种 - 这就是我们大多数人使用它的原因。我更喜欢把我所有的路线都放在app.js中,所有的实际都在其他地方发生。我还没有看到生产中的第二种方式,我没有看到纠结路由与逻辑的优势。