值得重新使用一个nodeJS服务器来使用连接(主要为everyauth)?

在过去的6个月里,我一直在研究自己的nodeJS应用程序,我从头开始构build所有的东西。 我的服务器只有几件事情,因为我的应用程序中的大部分工作都是在前端完成的。

我目前正在执行的一件事是用户login+应用程序的Facebook身份validation系统。 似乎每个authentication都比这里的其他任何东西都更加健壮。 但是,您需要有Express或Connect来使用它。

因此,我正在考虑重新编写我的代码来使用ConnectJS(主要是)这个目的。 也就是说,我真的很喜欢有一个非常简单的服务器,只做它需要做的事情,除此之外没有任何事情。 是否有任何其他authentication模块像每个authentication一样健壮,不需要任何人推荐的连接?

对于那些使用Connect的人来说,它提供的其他function有多方便? 是否值得gzipping服务器将返回的数据? 静态文件服务器是否比同样的东西的普通nodejs代码更快或者不同?

我现在非常忙碌,希望有经验的编程nodejs应用程序,无论有没有连接的任何想法。

最好,
萨米

AMMENDMENT – 如果我的服务器收到的每个请求都会涉及使用node-mongodb-native驱动程序连接到MongoDB,那么这是否会改变什么? 我有点困惑,我是否基本上可以将我已经编写的代码作为一个模块,作为我可以添加的一个中间件项目来连接。 如果这句话表明我对连接有什么误解,我很感激任何澄清。

Connect是一个中间件框架。 这意味着所有关于分离和实施第三方(阅读:你的和其他人)的中间件。 与直连节点服务器相比,连接没有开销。

Connect和Express都非常有用。 我也一直在使用Everyauth,而且我可以说比单独设置所有的OAuth实现(我已经完成)要容易得多。

这里有一些链接:

http://howtonode.org/connect-it

http://tjholowaychuk.com/post/664516126/connect-middleware-for-nodejs

快速指南: http : //expressjs.com/guide.html

和一个类似但不重复的堆栈问题: 什么是Node.js的Connect,Express和“middleware”?

在不了解应用程序的实现细节及其function的情况下,很难准确评估Connect将为您的应用程序带来的好处,以及进行过渡的难度。

话虽如此,我强烈build议在开发应用程序时使用Connect / Express组合。 有一个健康的中间件生态系统围绕Connect进行开发,这使得将需要的模块放入应用程序非常容易,如日志logging,压缩和身份validation。 随着应用程序的成熟和更多function的实施,灵活的体系结构将使其更加顺畅地发展。

既然你的评估authentication框架,我也会提到,我是Passport的开发者,这是一个替代everyauth,旨在更模块化和不显眼的。 Passport也build立在Connect之上。 然而,它被写为可以扩展的上下文(默认情况下连接),所以它应该有可能适应其他甚至本土的框架。