Node.js 单独或作为另一个服务器工具的伴侣

Posted

技术标签:

【中文标题】Node.js 单独或作为另一个服务器工具的伴侣【英文标题】:Node.js alone or as a companion to another server tool 【发布时间】:2011-11-08 12:56:33 【问题描述】:

对于我在大学的最后一年项目,我将创建一个应用程序,该应用程序将使用 Node.js 发送消息以更新一组元素在屏幕上的位置。

我的目标的详细描述:

用户应该能够创建房间,房间可以包含自定义小部件,例如图片、创意、音乐和视频。

其他用户应该能够查看此用户房间,并对这些小部件发表评论,例如喜欢它们、发布关于它们的推文等。所有小部件都是可移动的并具有 x,y 坐标,并且每次移动元素时都会广播(使用网络套接字)。

所有者可以删除或编辑小部件,这将更新元素(再次是 websockets)。

还将有一个内置的聊天功能,允许用户交谈(实时,使用网络套接字)。

小部件详细信息将存储在数据库中

还有更多与网络套接字无关的功能,所以我省略了。

下图展示了我正在构建的内容:(对不起尺寸!) http://jtbrown.me.uk/assets/unrelated/mindcloud.jpg

我真的只有两个问题:

    单独使用节点会更好吗? (我对服务器端 javascript 没有经验)

    是否可以将其与其他 Web 服务器(例如 Zend)结合起来?

【问题讨论】:

为简单起见,我强烈建议您学习 JS 并自行使用 node。只有当你有严格的最后期限时,你才应该只将 node 用于 socket.io 部分 【参考方案1】:

您应该能够单独在 node 中执行此操作,但也许您想使用基于 node 的基本 web 框架来使事情变得更容易并节省时间和工作。如果您想尝试出色的CoffeeScript,我建议您查看ExpressJS 甚至Zappa(基于ExpressJS)。

【讨论】:

我在 php 方面更有经验,我希望使用 Node.js 来处理几个事件。我想在 linux web 服务器上运行网站的其余部分。有可能这样做吗? @JackBrown 当然,你可以同时做。不过,您将需要某种共享数据存储 @Raynos 你对共享数据存储有什么建议吗?我该如何实现它?也许是 MongoDB? @jackBrown 我会推荐 redis,node 和 PHP 都有模块 杰克,你一定能做到。该死,我已经做到了。我使用 Node.js 作为前端,沙发作为后端。把你的“房间”想象成一个沙发文件,把你的物品想象成文件的元素;您可以在服务器和客户端或它的子元素之间来回传递它,并为每个可能的“指定更改的票证”提供 RESTful url。 (有关详细信息,请参阅理查森成熟度模型。)所有聊天和社交整合的东西都是短暂的。没有必要保留它。使用Zappa,这很容易。

以上是关于Node.js 单独或作为另一个服务器工具的伴侣的主要内容,如果未能解决你的问题,请参考以下文章

node.js

React + Node.JS 巧妙实现后台管理系统の各种小技巧(前后端)

Node JS:只允许服务器端调用我的 api

调色灵魂工具,详解HSL色彩原理+使用方法+应用效果|VSCO教程10

在 Chrome 开发者工具中调试 node.js

node.js学习笔记——回调函数