首页 > web前端 > js教程 > 构建一个node.js供电的聊天室网络应用:入门

构建一个node.js供电的聊天室网络应用:入门

Christopher Nolan
发布: 2025-02-20 11:00:12
原创
1032 人浏览过

构建一个node.js供电的聊天室网络应用:入门

钥匙要点

    Node.js是一个运行时环境和库,用于在浏览器外运行JavaScript应用程序,由于其性能使用了非块I/O和异步事件,因此主要用于实时服务器应用程序。由于其易于开发实时应用程序,这是开发人员的流行选择。
  • >教程系列将指导开发人员有关如何在Windows计算机上设置Node.js,使用Express开发Web Frontend,将Node Express App部署到Azure,使用Socket.io添加实时层,然后部署整个应用程序。
  • >教程使用Visual Studio和Node.js工具作为Visual Studio插件作为开发环境。它还包括有关如何在Visual Studio中启动新Node.js项目的指南,以及如何在Node.js.js.
  • 中创建一个简单的“ Hello World”应用程序。
  • >
  • 本文是Microsoft的Web开发技术系列的一部分。感谢您支持使SitietPoint成为可能的合作伙伴。 >

    >该教程将使用可选的Visual Studio和Node.js工具作为开发环境 - 我提供了免费下载这两个工具的链接。这是中级文章的初学者 - 您有望了解HTML5和JavaScript。 第1部分 - Node.js

    简介

    第2部分 - 欢迎使用node.js和azure

    第3部分 - 使用node.js,mongo and socket.io 构建后端

    第4部分 - 使用Bootstrap构建聊天室UI

    第5部分 - 将聊天室与WebSockets连接

    第6部分 - 结局和调试远程node.js应用

    欢迎来到动手Node.js教程系列的第1部分。在本期中,我将解释什么是node.js,为什么您应该注意node.js以及如何设置机器。

    >

    什么是node.js?为什么使用它?

    Node.js是一个运行时环境和库,用于在浏览器外运行JavaScript应用程序。 Node.js主要用于运行实时服务器应用程序,并使用非阻滞I/O和异步事件通过其性能发光。围绕Node.js构建了一个完整的Web生态系统,其中有几个Web应用程序框架和协议实现可用于使用。这绝对是今天在网络上开发实时应用程序的最简单,最快的方法之一。

    >为什么要使用node.js?一个词:javaScript。 JavaScript是一种非常受欢迎的语言,被认为是将网络变成当今充满活力的仙境的动力之一。 JavaScript

    在前端出现,但是 - 借助V8 JavaScript引擎和Ryan Dahl的工作 - 您现在可以在浏览器之外运行网络网络的JavaScript应用程序,以构建Web应用程序。 Node.js使您可以统一应用程序使用的编程语言。您不再需要另一种语言的后端 - 您可以在整个过程中使用JavaScript。如果您的背景是在HTML,CSS和JavaScript中的构建和设计网站和Web应用程序的前端,则您无需挑选其他语言即可为应用程序开发复杂的数据驱动的后端。

    > Node.js在Websockets的进步中起着至关重要的作用,作为前端和后端之间实时通信的一种方法。 Websocket和在该协议上构建的Websocket和库的使用确实推动了Web应用程序的期望,并使我们的开发人员探索创建Web的新方法。

    >

    >如何在Windows 8

    上设置node.js 为了开始,您需要一台合理的最新机器。我将向您展示如何在Windows 8.1上安装node.js。

    1。安装node.js

    首先,下载并安装node.js运行时。选择Windows安装程序是最简单的开始方法之一。

    > 或者,如果您是Windows的包装管理器巧克力的粉丝,则可以通过运行来安装node.js:

    2。确认设置

    >您应该仔细检查node.js可执行文件已添加到您的路径系统环境变量中。如果您想查看如何更改Windows 8和Windows 8.1上的环境变量,请观看此视频。您将要确保已将以下文件夹添加到路径变量:>

    如果您转到命令提示符并输入节点–h,则应看到显示node.js可执行文件的帮助文档。

    > choco <span>install nodejs.install</span>发生错误……

    如果您遇到类似于此错误的错误……

    >

    choco <span>install nodejs.install</span>
    登录后复制
    登录后复制

    …分辨率是在上面指定的路径上创建一个文件夹,如此Stackoverflow问题所示。这只是最新的Node.js安装程序中的一个问题,应通过下一版本解决。您可以这样创建文件夹:

    C:\Program Files (x86)\nodejs\
    登录后复制
    登录后复制

    选择一个开发工具

    >安装了Node.js,是时候选择开发工具了。随意使用所需的任何编辑工具。在这些教程中,我将使用Visual Studio开发,调试和部署聊天引擎;以及Visual Studio的Node.js工具(NTVS) - 一个免费的开放源代码插件用于Visual Studio,支持开发Node.js Applications。 NTVS的最酷的是,它添加了Node.js支持编辑,IntelliSense,性能分析,NPM,Typescript,在本地和远程调试(包括Windows/MacOS/Linux)。它还使快速创建网站并将其部署到Microsoft Azure网站或云服务变得容易。

    如果您没有Visual Studio,则可以下载Visual Studio 2013 Community Edition的免费副本。然后,下载用于Visual Studio插件的免费node.js工具。您也可以使用Visual Studio 2012 Pro或更高版本(需要更新4)或Visual Studio 2013或更高版本(需要更新2)。 NTVS插件都与两个版本兼容。

    在Visual Studio中启动一个新的Node.js项目

    注意:屏幕截图显示Visual Studio 2013 Ultimate。

    启动一个新的node.js项目非常简单。

    > 启动Visual Studio。在“文件”菜单上,单击“新建”,然后单击项目。

    在新项目窗口中,

    >展开已安装的菜单选择,展开模板,然后单击JavaScript。在主窗口中,选择空白node.js Web应用程序。选择您项目的位置和名称,然后单击“确定”。
    1. >您将在以下屏幕上介绍。此时,请随时探索视觉工作室。您将需要在解决方案资源管理器中打开生成的server.js文件(右侧通常位于屏幕上的其他位置。)构建一个node.js供电的聊天室网络应用:入门>
    2. >现在,您可以在首选浏览器中调试Node.js Web应用程序。构建一个node.js供电的聊天室网络应用:入门>
    3. 构建一个node.js供电的聊天室网络应用:入门> node.js
    4. 中的“ Hello World”应用
    5. 这是上面链接的server.js文件中使用的代码。>
    构建一个node.js供电的聊天室网络应用:入门在其他语言中,生成的代码示例在浏览器中向您展示了如何输出“ Hello World”。让我解释一下server.js中生成的代码如何按线工作。

    >如本教程系列说明所述,我假设您对JavaScript,HTML5以及HTTP/Internet的工作原理。

    >第1行

    choco <span>install nodejs.install</span>
    登录后复制
    登录后复制
    Node.js具有简单的模块和依赖项加载系统。您只需使用包含要加载的模块的文件或目录的路径来调用该函数“需要”,此时将返回一个变量,其中包含该模块的所有导出函数。

    >第2行

    在这一行上,我们要确定应运行服务HTML的HTTP服务器的端口。如果在环境变量中指定了端口号,我们将使用该端口号,或者我们只需使用1337。

    第3行
    C:\Program Files (x86)\nodejs\
    登录后复制
    登录后复制

    我们要创建一个服务器来处理HTTP请求。我们还将传递CreateServer函数一个包含两个参数的函数回调,以处理每个单独的请求并返回响应。如果您从未在JavaScript中遇到过回调功能,请看一下Michael Vollmer的文章。接收到的请求通过REQ参数传递,预计响应将写入RES参数。

    第4行

    Error: ENOENT, stat 'C:\Users\someuser\AppData\Roaming\npm'
    登录后复制
    任何HTTP响应都需要状态线和标题,以了解有关HTTP标题以及如何工作的更多信息,请查看本文。在这种情况下,我们希望将200个OK作为状态响应返回,并将内容类型指定为纯文本。我们通过在响应对象上调用写头函数来指定这一点。

    >第5行

    <span>mkdir -r C:\Users\someuser\AppData\Roaming\npm</span>
    登录后复制
    >完成写完响应后,我们要调用最终功能。我们还可以通过最终功能传递最终内容,在这种情况下,我们希望以纯文本发送字符串“ Hello World”。

    >第6行

    <span>var http = require('http');
    </span><span>var port = process.env.port || 1337;
    </span>http<span>.createServer(function (req<span>, res</span>) {
    </span>  res<span>.writeHead(200, { 'Content-Type': 'text/plain' });
    </span>  res<span>.end('Hello World\n');
    </span><span>}).listen(port);</span>
    登录后复制
    >我们关闭回调,并在我们之前定义的端口上调用函数侦听,这将启动服务器并开始接受发送给定义端口的请求。

    要查看结果,您可以通过按下上一个屏幕截图中显示的按钮开始调试。您可以在浏览器中看到“ Hello world”。

    <span>var http = require(‘http’);</span>
    登录后复制
    瞧!您现在使用Visual Studio 2013上的Windows 8.1上成功运行了一个Node.js应用。

    敬请期待第2部分!

    > 第2部分 - 如何将您的“ Hello World”部署到云中。您可以按照我的Twitter帐户来保持最新和其他文章的最新信息。

    在Azure

    上进行节点的更多学习 构建一个node.js供电的聊天室网络应用:入门要在节点上进行更多深入学习,我的课程可在Microsoft Virtual Academy上找到。

    或类似节点主题上的一些较短的格式视频:>

    六部分系列:用node.js

    构建应用程序

    漫步在节点(coding4fun)

      本文是Microsoft的Web开发技术系列的一部分。我们很高兴与您共享Spartan项目及其新的渲染引擎。在Modern.ie上获取免费的虚拟机或在Mac,iOS,Android或Windows设备上进行远程测试。

      >常见问题(常见问题解答)有关构建node.js供电的聊天室网络应用

      >如何将mongoDB与我的node.js聊天应用程序集成?

      mongoDB是一个流行的NOSQL数据库,可用于存储聊天消息和用户数据。要将MongoDB与您的node.js聊天应用程序集成在一起,您将需要使用Mongoose之类的MongoDB驱动程序。 Mongoose提供了一种直接的,基于模式的解决方案来对您的应用程序进行建模,并包括内置类型的铸造,验证,查询构建和业务逻辑挂钩。

      >我可以使用MongoDB以外的其他数据库聊天应用程序?

      是的,您可以使用其他数据库进行聊天应用程序。尽管MongoDB是由于其可扩展性和灵活性而是一个流行的选择,但您也可以使用MySQL或PostgreSQL之类的SQL数据库。数据库的选择在很大程度上取决于您的应用程序要求和个人喜好。

      >

      >如何将身份验证添加到我的node.js聊天应用程序?

      >

      >向您的聊天应用程序添加身份验证确保仅授权用户添加身份验证可以访问它。您可以使用Passport.js之类的库进行身份验证。 Passport.js是一个灵活而模块化的身份验证中间件。您可以用来部署node.js聊天应用程序。一些流行的选择包括Heroku,AWS和Google Cloud。这些平台提供了一系列服务来帮助您部署,管理和扩展应用程序。

      >如何缩放我的node.js聊天应用程序?

      缩放您的聊天应用程序可以在几种方式。您可以通过在现有服务器中添加更多功率(CPU,RAM),或通过向应用程序添加更多服务器来垂直扩展。 node.js还具有内置支持聚类的支持,它允许您利用多核系统。

      >

      >我可以与我的node.js聊天应用程序一起使用React吗?您可以与Node.js聊天应用程序一起使用React。 React是用于构建用户界面的流行JavaScript库。它可用于构建聊天应用程序的前端,而Node.js处理后端。

      >我如何处理聊天应用程序中的实时更新?在聊天应用程序中,可以使用Websocket处理。 Socket.io是用于实时Web应用程序的流行库。它启用浏览器和服务器之间的实时,双向和基于事件的通信。

      如何测试我的node.js聊天应用程序?

      >测试您的聊天应用程序确保它确保它按预期工作。您可以使用Mocha或Jest等测试框架为您的应用程序编写测试。这些框架提供了一系列功能,可帮助您编写和管理测试。

      >

      >如何处理我的node.js聊天应用程序中的错误?

      >错误处理是任何应用程序的重要组成部分。在Node.js中,您可以使用中间件处理错误。中间件函数是可以访问请求对象,响应对象的函数,以及应用程序的请求响应周期中的下一个函数。

      >我可以将typescript与我的node.js聊天应用程序一起使用吗?

      ​​

      是的,您可以将Typescript与Node.js聊天应用程序一起使用。 Typescript是JavaScript的类型超集,可在语言中添加静态类型。它可以帮助您在开发期间早期编写更强大的代码并捕获错误。

      >

以上是构建一个node.js供电的聊天室网络应用:入门的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板