实时示例: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用作唯一标识符 - 这就是它可以检测到发送消息的“我”或“其他人”的方式。