首頁 >web前端 >js教程 >構建一個node.js供電的聊天室網絡應用:入門

構建一個node.js供電的聊天室網絡應用:入門

Christopher Nolan
Christopher Nolan原創
2025-02-20 11:00:121038瀏覽

構建一個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