คู่มือเข้า Routing และ Middleware ออก Express

Routing และ middleware เป็นสองแนวคิดที่สำคัญใน Node.js และ Express เฟรมเวิร์กสำหรับการสร้างเว็บแอปพลิเคชัน

Routing:

  • Routing เป็นกระบวนการกำหนดวิธีจัดการคำขอจากลูกค้าและตอบสนองด้วยทรัพยากรที่สอดคล้องกันบนเซิร์ฟเวอร์
  • ใน Express เราสามารถกำหนดเส้นทางโดยระบุเมธอด HTTP(GET, POST, PUT, DELETE ฯลฯ) และเส้นทาง URL ที่เกี่ยวข้อง
  • แต่ละเส้นทางสามารถมีฟังก์ชันตัวจัดการตั้งแต่หนึ่งฟังก์ชันขึ้นไปเพื่อดำเนินการต่างๆ เช่น การประมวลผลคำขอ การเข้าถึงฐานข้อมูล และส่งการตอบกลับไปยังไคลเอนต์

Middleware:

  • Middleware เป็นฟังก์ชันที่ดำเนินการตามลำดับก่อนที่คำขอจะไปถึงตัวจัดการเส้นทางสุดท้าย
  • ใช้เพื่อดำเนินการฟังก์ชันทั่วไปและจัดการงานระดับกลาง เช่น การพิสูจน์ตัวตน การบันทึก การจัดการข้อผิดพลาด ฯลฯ
  • Middleware ใช้ได้กับทั้งแอปพลิเคชันหรือระบุเฉพาะเส้นทางก็ได้
  • แต่ละรายการ middleware ได้รับพารามิเตอร์ req(คำขอ) และ res(การตอบสนอง) และสามารถดำเนินการประมวลผล ส่งคำขอไปยังรายการถัดไป middleware หรือสิ้นสุดการประมวลผลโดยส่งการตอบกลับไปยังไคลเอนต์

ตัวอย่างการรวม Routing และ Middleware ใน Express:

const express = require('express');  
const app = express();  
  
// Middleware
const loggerMiddleware =(req, res, next) => {  
  console.log('A new request has arrived!');  
  next();  
};  
  
// Apply middleware to the entire application  
app.use(loggerMiddleware);  
  
// Main route  
app.get('/',(req, res) => {  
  res.send('Welcome to the homepage!');  
});  
  
// Another route  
app.get('/about',(req, res) => {  
  res.send('This is the about page!');  
});  
  
// Start the server  
app.listen(3000,() => {  
  console.log('Server is listening on port 3000...');  
});  

ในตัวอย่างนี้ เราได้กำหนดแบบกำหนดเอง เพื่อบันทึกทุกคำขอใหม่ที่มาถึงเซิร์ฟเวอร์ สิ่งนี้ ใช้กับแอปพลิเคชันทั้งหมดโดยใช้ วิธีการ จากนั้น เราได้กำหนดสองเส้นทาง เส้นทางหนึ่งสำหรับหน้าหลัก( ) และอีกเส้นทางหนึ่งสำหรับหน้าเกี่ยวกับ( ) สุดท้าย เราเริ่มเซิร์ฟเวอร์และฟังที่พอร์ต 3000 middleware loggerMiddleware middleware app.use() '/' '/about'

จะ ดำเนินการสำหรับทุกคำขอ บันทึกข้อความไปยังคอนโซลก่อนที่จะส่งคำขอไปยังตัวจัดการเส้นทางที่เกี่ยวข้องหรือ ในลำดับ middleware loggerMiddleware middleware

การรวมกันของ routing และ middleware ช่วยให้เราจัดการกับคำขอที่แตกต่างกันและทำงานทั่วไปได้อย่างมีประสิทธิภาพในแอ Express ปพลิเคชัน