2013-03-31 25 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

对不起,这两款产品都不适合您的需求。这是今天的两个最佳选择。自己处理路由不是太复杂,我不会告诉你如何实现这一点,熨斗确实也值得检查(没有亲身经历,看起来很有趣)。 –