實時示例:https://next-js-chat-app.vercel.app
逐步指南:https://ase.com/blog/realtime-chat-app-nextjs-vercel
這是一個使用ACHASS MESAGENG平台的Demo Chat應用程序。
它證明了:
該項目使用以下組件:
Next.js是Vercel的React框架。它用於構建使用服務器端渲染,無服務器功能和無縫託管的靜態Web應用程序。這是一個框架,可以將您已經擁有的React知識帶入,並進行了一些結構和慣例。
非常適合實時的酒吧/子消息平台,配備一套集成服務,可以直接向最終用戶提供完整的實時功能。
Vercel是一個託管平台,從頭到尾構建到Next.js應用程序,並使用它們的無服務器功能。
React是一個用於構建用戶界面的JavaScript庫,其封裝的組件可以管理自己的狀態。
應用程序的UI將在此演練中構建
我們將構建一個在瀏覽器中運行的實時聊天應用程序。它將在下一個。 JScreate-next-app模板上構建,它將包含一個React組件,該組件將使用大量發送和接收消息。我們還將編寫下一個。 JS無服務器函數,該功能將用於連接到適當的功能。
為了構建和部署此應用程序,您將需要:
您還需要一個API鍵,可以通過ABLY SERVICE進行身份驗證。要獲取API密鑰,一旦您創建了一個帳戶:
.env的文件: ABLY_API_KEY=your-ably-api-key:goes-herenpm install 。npm run dev 。Next.js開發服務器將旋轉,您將看到一個演示聊天應用程序。
我們將Vercel用作開發服務器並構建管道。
Deploy Next.js生產的最簡單方法是使用Next.js的創建者的Vercel平台。 Vercel是一個多合一平台,具有支持靜態和Jamstack部署和無服務器功能的全局CDN。 - next.js文檔
為了將新的聊天應用程序部署到Vercel,您需要:
ABLY_API_KEY添加為環境變量有幾種方法可以擴展:
目前,此演示中沒有聊天歷史記錄,您只會在加入聊天后會看到消息。您可以通過使用明顯的倒帶功能免費擴展此演示,最多可以免費提供兩分鐘的歷史記錄,或者有付費帳戶,最多可長達48小時。
聊天消息沒有任何用戶名發送。可以擴展此演示以引入一個用戶名輸入框,並將當前的用戶名添加到發送時。
該演示將隨機生成的客戶ID用作唯一標識符 - 這就是它可以檢測到發送消息的“我”或“其他人”的方式。