2013-03-31 46 views
1

我與expressjs工作和的NodeJS socket.io。我正在研究將相同的路由處理程序分配給HTTP或通過websockets/socket.io進行的請求。快遞&Socket.io路線人云亦云/複製/分享

例如:

var responder = function(req, res){ 
    req.params //<-- {id: 'something...'} 
} 
app.get('/foo/:id', responder); 
io.on('/foo/:id', responder); 

socket.io不會出現有這種類型的路由功能。有沒有人知道圖書館/模塊來幫助這個?

回答

3

有幾種選擇。

  • 如果您想使用繼續,請express.io

  • 如果你不介意使用有點不同的東西,sails也可以讓你做這種事情。

更新:帆現在使用快遞太)

兩人都在生產中成功使用。

注意路由也是你自己去實現非常簡單。如果您查看how express do it,我確信您將能夠找出一個能滿足您需求的超薄實施方案。

祝你好運!讓我知道你最終使用什麼以及它如何爲你工作。

+0

嗨本傑明感謝您的回覆。我熟悉express.io,但似乎無法匹配1:1路由 - 相反,它似乎能夠將http請求轉發給socket.io事件處理函數。和帆看起來很大,但它是還沒有應用滿足我的需求(例如,沒有辦法配置socket.io沒有黑客的原始來源的模型之間沒有關係,和) –

+0

我覺得我現在要嘗試的設置使用flatiron-director(https://github.com/flatiron/director#api-documentation)創建路由表,抽象響應方法來處理將JSON返回給http或websocket請求,並調用.dispatch()來觸發我的路線。 我會告訴你這是怎麼回事,我也會爲它創建一個github要點。 –

+0

對不起,這兩款產品都不適合您的需求。這是今天的兩個最佳選擇。自己處理路由不是太複雜,我不會告訴你如何實現這一點,熨斗確實也值得檢查(沒有親身經歷,看起來很有趣)。 –