ตัวอย่างสดที่: https://next-js-chat-app.vercel.app
คู่มือทีละขั้นตอนที่: https://ably.com/blog/realtime-chat-app-nextjs-vercel
นี่คือแอปพลิเคชั่นแชทสาธิตที่มี next.js โดยใช้ความสามารถเป็นแพลตฟอร์มการส่งข้อความ
มันแสดงให้เห็นถึงการใช้:
โครงการใช้ส่วนประกอบต่อไปนี้:
Next.js เป็นกรอบการตอบสนองจาก Vercel มันถูกใช้เพื่อสร้างเว็บแอปพลิเคชันแบบคงที่ด้วยการเรนเดอร์ด้านเซิร์ฟเวอร์ฟังก์ชั่นที่ไม่มีเซิร์ฟเวอร์และโฮสติ้งที่ราบรื่น มันเป็นกรอบที่ใช้ความรู้ที่ตอบสนองที่คุณมีอยู่แล้วและวางโครงสร้างและการประชุมบางอย่าง
เป็นแบบเรียลไทม์แพลตฟอร์มการส่งข้อความแบบผับ/ย่อยพร้อมชุดบริการแบบบูรณาการเพื่อส่งมอบฟังก์ชั่นเรียลไทม์ที่สมบูรณ์โดยตรงไปยังผู้ใช้ปลายทาง
Vercel เป็นแพลตฟอร์มโฮสติ้งที่สร้างขึ้นจากพื้นดินจนถึงโฮสต์แอพ Next.js และฟังก์ชั่นที่ไม่มีเซิร์ฟเวอร์กับพวกเขา
React เป็นไลบรารี JavaScript สำหรับการสร้างส่วนต่อประสานผู้ใช้ด้วยส่วนประกอบที่ห่อหุ้มซึ่งจัดการสถานะของตนเอง
UI ของแอพที่เราจะสร้างด้วยคำแนะนำนี้
เราจะสร้างแอพแชทแบบเรียลไทม์ที่ทำงานในเบราว์เซอร์ มันจะถูกสร้างขึ้นบนเทมเพลต create-next-app ถัดไปมันจะมีส่วนประกอบปฏิกิริยาซึ่งจะใช้ในการส่งและรับข้อความ นอกจากนี้เราจะเขียนฟังก์ชั่น Next.js Serverless ซึ่งจะใช้ในการเชื่อมต่อกับ Ably
ในการสร้างและปรับใช้แอพนี้คุณจะต้อง:
นอกจากนี้คุณยังต้องใช้คีย์ API จากความสามารถในการตรวจสอบด้วยบริการด้วยความสามารถ ในการรับคีย์ API เมื่อคุณสร้างบัญชี Ably:
.env ในรูทของโครงการที่มีคีย์ API ของคุณ: ABLY_API_KEY=your-ably-api-key:goes-herenpm installnpm run devเซิร์ฟเวอร์ dev next.js จะหมุนขึ้นและคุณจะเห็นแอปพลิเคชันแชทสาธิต
เราใช้ Vercel เป็นเซิร์ฟเวอร์การพัฒนาของเราและสร้างท่อ
วิธีที่ง่ายที่สุดในการปรับใช้ next.js ในการผลิตคือการใช้แพลตฟอร์ม vercel จากผู้สร้างของ Next.js Vercel เป็นแพลตฟอร์มแบบ all-in-one พร้อมการปรับใช้แบบคงที่และการใช้งาน Jamstack และฟังก์ชั่น Serverless - เอกสารถัดไป JS
ในการปรับใช้แอพแชทใหม่ของคุณไปยัง Vercel คุณจะต้อง:
ABLY_API_KEY ของคุณเป็นตัวแปรสภาพแวดล้อมมีหลายวิธีที่ตัวอย่างนี้สามารถขยายได้:
ขณะนี้ไม่มีประวัติการแชทในการสาธิตนี้คุณจะเห็นเฉพาะข้อความที่เข้ามาหลังจากที่คุณเข้าร่วมการแชท คุณสามารถขยายการสาธิตนี้โดยใช้คุณสมบัติ Rewind ของ Ably สำหรับประวัติสูงสุดสองนาทีฟรีหรือด้วยบัญชีที่ชำระเงินนานถึง ~ 48 ชั่วโมง
ไม่มีชื่อผู้ใช้ใด ๆ ที่ส่งพร้อมข้อความแชท การสาธิตนี้สามารถขยายออกไปเพื่อแนะนำกล่องอินพุตชื่อผู้ใช้และเพื่อเพิ่มชื่อผู้ใช้ปัจจุบันลงในข้อความตามที่ส่ง
การสาธิตใช้รหัสไคลเอนต์ที่สร้างขึ้นแบบสุ่มเป็นตัวระบุที่ไม่ซ้ำกัน - ซึ่งเป็นวิธีที่สามารถตรวจจับได้ว่าเป็น "ฉัน" หรือ "คนอื่น" ที่ส่งข้อความ