2014-10-31 82 views
1

這是一個獨立的代理應用程序。我是Express和Node的新手,所以我想就如何構建此應用程序的結構提供一些建議。使用帶NodeJS的Express構建REST API的最佳實踐

出發:

  • 我只是一個app.js文件是服務器,並打開網絡插座。
  • 另一個(router.js)具有Router()和一個REST調用列表。

但是,這個應用程序將會有很多REST調用,並期待大量數據進入並請求出去。因此,只需在router.js中獲取get,post等等的調用列表就可以非常迅速地解散。有沒有更好的方法來設計這個應用程序?

回答

2

爲「包含」路徑創建單獨的文件。例如:

// 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); 
}); 
+0

我喜歡這種技術,但不建議將命名方法'綁定',因爲維護人員可能會將其與原型'綁定'方法混淆。 – PeterVC 2014-11-01 15:23:08

+0

公平點。讓我們編輯帖子。 – 2014-11-01 17:47:01