1

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

我目前正在考虑实施的一件事是应用程序的用户登录 + facebook 身份验证系统。似乎every-auth 是一个比其他任何东西都更强大的框架。但是,您需要拥有 Express 或 Connect 才能使用它。

因此,我正在考虑修改我的代码以使用 ConnectJS(主要)用于此目的。也就是说,我真的很喜欢拥有一个非常简单的服务器,它只做它需要做的事情,除此之外什么都不做。是否有任何其他身份验证模块与every-auth 一样强大,不需要任何人推荐的 Connect?

对于那些使用 Connect 的人来说 - 它提供的其他功能有多方便?是否值得对服务器返回的数据进行 gzip 压缩?静态文件服务器是否比执行相同操作的常规 nodejs 代码更快或有什么不同?

我现在真的很犹豫,如果有使用和不使用 Connect 的 nodejs 应用程序编程经验的人的任何想法,我将不胜感激。

最好的,
萨米

修正 - 如果我的服务器收到的每个请求在某个时候都涉及使用 node-mongodb-native 驱动程序连接到 MongoDB,这会改变什么吗?对于我是否可以将我已经编写的代码作为某种模块充当我可以添加到连接的中间件项目之一,我有点困惑。如果这句话表明我完全误解了 connect 的作用,我将不胜感激。

4

2 回答 2

3

Connect 是一个中间件框架。这意味着这一切都与第三方(阅读:您和其他所有人的)中间件的分离和实施有关。与直接节点服务器相比,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 和“中间件”?

于 2011-11-14T08:25:05.587 回答
1

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

话虽如此,我强烈建议在开发应用程序时使用 Connect/Express 组合。围绕 Connect 开发了一个健康的中间件生态系统,这使得将所需模块放入应用程序变得非常容易,例如日志记录、压缩和身份验证。随着应用程序的成熟和更多功能的实现,拥有灵活的架构将使其发展更顺利。

由于您评估身份验证框架,我还要提到我是Passport的开发人员,它是everyauth 的替代品,旨在更加模块化和不引人注目。Passport 也是建立在 Connect 之上的。然而,它被写成可扩展的上下文(默认连接),所以它应该可以适应其他的,甚至是本土的框架。

于 2011-11-14T17:59:51.817 回答