2016-08-16 66 views
1

我將學習Node.js,現在我正在試圖製作一個實現HTTP REST服務的小型演示項目。 我的想法是通過資源劃分的API(URL)和類似以下的結構結束:Node.js如何構建HTTP REST APi項目?

- user 
> index.js 
> post.js 
> put.js 
> delete.js 
> functions.js 
- person 
> index.js 
- index.js 

所以,如果你熟悉的ASP.NET Web API中,我試圖盡一切Node.js模塊,控制器和每個Web方法的單個文件(.js),以便在將來具有較高的可維護性。

問題 現在,我的index.js文件返回如下:

var http = require('http'); 
var server = http.createServer(); 

我如何使用此模塊配置中的每個文件中的特定「請求處理程序」?目前createServer()方法返回一個server對象可以使用單個server.on('request', function),而我需要處理不同文件中的每個請求。

+2

你可以做的是使用[express.js](http://expressjs.com/),在你的主文件中創建服務器,並有'post','put' ...返回'Router'對象您可以連接到服務器。 – DrakaSAN

+1

您需要檢查請求方法並解析url以構建處理程序模塊名稱。另一種可能的解決方案來手動配置應用程序,但這將是非DRY。 – inf3rno

+1

謝謝大家,那麼我將開始瀏覽http://expressjs.com/,並從那裏往前走。 – Raffaeu

回答

1

繼續學習一些框架的幫助。他們提供項目的腳手架。

如果你正在開發一個完整的Web應用程序(MVC),然後去ExpressJsSailsJs

如果您正在尋找出發展僅API(未查看),然後去StrongloopRestify

有更多的框架,但上述的很受歡迎。

+0

謝謝,不,我只實現Api現在,但在這一點上,我會考慮表達。 – Raffaeu

+0

爲了讓觀衆在我的進展中「更新」,我花了一個多星期的時間在Express + Knex(數據庫)和+書架(ORM)上工作了一週,並且我做了一個基本的基本REST API項目。 我建議其他人學習Express和Bookshelf,他們可以使生活變得更容易,他們「類似」.NET語法/項目結構 – Raffaeu