建站学院

当前位置:

实时聊天:利用Modulus和Node.js实现

浏览量:1713次

在本教程中,我将向您展示如何使用 node.js、socket.io 和 mongodb 实现一个实时聊天应用程序,然后我们将该应用程序一起部署到 modulus。

首先,让我向您展示我们将在文章末尾看到的应用程序的最终外观。

实时聊天:利用Modulus和Node.js实现

Node.js 将成为应用程序的核心,Express 作为 MVC,MongoDB 作为数据库,Socket。 IO用于实时通信。完成后,我们将把应用程序部署到 Modulus。 MongoDB 部分实际上存在于 Modulus 内部。

1. 场景

  1. John 想要使用我们的应用程序,并在浏览器中打开它。
  2. 在第一页上,他选择聊天期间使用的昵称,然后登录聊天。
  3. 他在文本区域中写了一些内容,然后按 Enter。
  4. 文本将发送至 RESTful 服务 (Express),并将该文本写入 MongoDB。
  5. 在 MongoDB 中写入之前,相同的文本将广播给当前登录聊天应用的用户。

如您所见,这是一个非常简单的应用程序,但它几乎涵盖了 Web 应用程序的所有内容。该应用程序中没有频道系统,但您可以fork源代码并实现频道模块进行练习。

2.从头开始进行项目设计

我将尝试先解释该项目的各个小部分,然后在最后将它们组合起来。我将从后端开始到前端。那么,让我们从域对象(MongoDB 模型)开始。

2.1。型号

对于数据库抽象,我们将使用 Mongoose。在这个项目中,我们只有一个模型,名为 Message 这个消息模型只包含 text, createDate, 和 作者作者没有像User这样的模型,因为我们不会完全实现用户注册/登录系统。将会有一个简单的昵称提供页面,并且该昵称将被保存到cookie中。这将在 Message 模型中用作 author 字段中的文本。您可以在下面看到一个示例 JSON 模型:

{

    text: "Hi, is there any Full Stack Developer here?"

    author: "john_the_full_stack",

    createDate: "2015.05.15"

}
登录后复制

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【915688610@qq.com】,我们在确认后,会立即删除,保证您的版权。