【问题标题】:backbone.js + node.js - express.js骨干.js + node.js - express.js
【发布时间】:2013-01-16 13:30:35
【问题描述】:

我正在学习构建单页应用程序 (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 server吧?

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

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

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

【问题讨论】:

标签: node.js backbone.js architecture socket.io


【解决方案1】:

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

没有。 socket.io 的唯一要求是监听http.Server

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

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

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

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

【讨论】:

  • 嗨乔纳森,非常感谢你的回答。我想我在这里有一个很大的概念问题,如果你能解决它,我将不胜感激。如果我不希望 Node.js提供静态文件,如 html、css 和 javascript(就像应该使用传统的 Express.js 应用程序一样),因为我希望它完全独立于后端,谁应该提供我的静态内容?我的意思是,我的 SAP 内容。非常感谢您提前
  • @MichaelTrend 你需要一个静态服务器。这可以与您用于 socket.io 或任何其他服务器系统的 http.Server 相同 - nginx、apache 等。WebSockets 执行 support cross-origin connections
  • 您好 Jonathan Lonowski,如果我想要建立一个 SPA,您有什么建议吗?通过 http.server() 或通过 gninx 提供 html+css+javascript?
  • @MichaelTrend 两者都可以,但没有“一刀切”,当然,我不能真正告诉你什么最适合你。 :) 你将不得不尝试其中一个,看看你是否喜欢它。
猜你喜欢
  • 1970-01-01
  • 2013-10-14
  • 2011-11-26
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多