使用带有NodeJS的Express构建REST API的最佳实践

Best Practice to Structure REST API Using Express with NodeJS

本文关键字:REST API 最佳 构建 Express NodeJS      更新时间:2023-09-26

这是一个独立的broker应用程序。我是Express和Node的新手,所以我想了解一下如何构建这个应用程序的结构。

启动:

  • 我只有一个作为服务器并打开web套接字的app.js文件
  • 另一个(router.js)具有router()和REST调用列表

然而,这个应用程序将有很多REST调用,并且预计会有很多数据传入和请求传出。因此,只要在router.js中列出get、post等调用的列表,就会很快变得杂乱无章。有没有更好的方法来设计这个应用程序?

为"包含的"路由创建单独的文件。例如:

// stored as ./routes/abc.js
var middleware = require("../lib/middleware");
module.exports = {
  setup: function(app) {
    app.get("/abc/def", middleware.fn1, middleware.fn2, ..., this.def);
    app.get("/abc/[...]", this.[...]);
  },
  def: function(req, res) {
  },
  ...
}

然后在你的/routes/index.js类似于:

var abc = require("abc");
module.exports = function(app) {
  ...
  abc.setup(app);
  ...
};

当然,最后在你的app.js中,你会得到:

var express = require("express"),
    app = express();
require("routes")(app);
var port = process.env.PORT || 12345;
app.listen(port, function() {
  console.log('Listening on port %d', port);
});