4

我正在学习构建单页应用程序 (SPA) 所需的所有技术。总而言之,我想将我的应用程序实现为单独的层,其中前端仅使用 API Web 服务(通过 socket.io 的 json)与后端通信。前端基本上是 Backbone.js(+ html5、css3、jquery),后端使用 node.js(+ mongodb、express 等)。决定使用node是因为socket.io。

我的问题可能听起来很基本,但我还是不明白。

  1. 在这个配置上,有必要使用 Express.js 吗?据我所知,Express.js 的主要功能是提供 Web API 和通过路由服务网页。但是由于我想用 Backbone.js 作为 SPA 构建一个完整的前端,并通过 Socket.io 提供 CRUD,所以我的项目需要 Express.js 吗?

  2. 在这个配置中,节点服务器只会监听 socket.io crud 命令,对吧?在这里,不需要使用 Express.js 作为 REST API 服务器,对吧?

  3. 如果我只想要 Web API 和实时 CRUD 多播操作(就像您可以使用 Socket.io 一样),是否必须使用 Node.js 作为后端,或者我可以使用其他技术?

我希望有人能给我一些答案,并提前非常感谢您的时间和支持。

对于编辑:几个月以来,我在接受答案方面遇到了一些大问题。我总是接受它们,但 stackoverflow 总是表明我不接受。如果一些stackoverflow编辑器可以帮助我解决这个问题,我真的很感激。

4

1 回答 1

3

在这个配置上,有必要使用 Express.js 吗?

不,socket.io 的唯一要求是监听http.Server

在这个配置中,节点服务器只会监听 socket.io crud 命令,对吧?

可能。您仍然需要能够提供 SPA 开始发出 WebSocket 请求所需的任何(静态)文件。

[...] 是否必须使用 Node.js 作为后端,或者我可以使用其他技术?

不必要。socket.io 库确实需要 Node.js。但是,如果您只需要它的功能,“其他语言”下还列出了其他选项。

于 2013-02-01T10:22:21.340 回答