我正在学习构建单页应用程序(SPA)所需的所有技术。总结一下,我想将我的应用程序实现为单独的层,前端只使用API Web服务(json到socket.io)与后端进行通信。前端基本上是Backbone.js(+ html5,css3,jquery),后端使用node.js(+ mongodb,express等)。使用节点的决定是因为socket.io。
我的问题可能听起来很基本,但我仍然没有得到它。
在这个配置上,是否有必要使用Express.js?据我所知,Express.js的主要功能是提供Web API并通过路由提供网页。但是既然我想用Backbone.js建立整个前端作为SPA,并通过Socket.io提供CRUD,那么我的项目中是否需要Express.js?
在这个配置上,节点服务器只会侦听socket.io crud命令,对吧?在这里,没有必要使用Express.js作为rest api服务器,对吧?
如果我只想要Web API和实时CRUD多播操作(就像你可以使用Socket.io一样),是否必须使用Node.js作为后端,或者我可以使用其他技术?
我希望有人可以给我一些答案,并提前感谢你的时间和支持。
FOR EDITORS:自从几个月以来我接受了一些重大问题。我总是接受它们,但stackoverflow总是表明我没有。如果有一些stackoverflow编辑器可以帮我解决这个问题,我真的很感激。
答案 0 :(得分:3)
在这个配置上,是否有必要使用Express.js?
没有。 socket.io的唯一要求是监听http.Server
。
在这个配置上,节点服务器只会侦听socket.io crud命令,对吗?
可能。您仍然需要能够提供SPA开始发出WebSocket请求所需的任何(静态)文件。
[...]是否必须使用Node.js作为后端,或者我可以使用其他技术?
不一定。 socket.io库确实需要Node.js.但是,如果您只需要它的功能,“In other languages”下会列出其他选项。