ความรู้เบื้องต้น Middleware ใน Express.js
Middleware in Express.js เป็นแนวคิดอันทรงพลังที่ให้คุณเรียกใช้ฟังก์ชันตามลำดับเฉพาะในระหว่างวงจรชีวิตการตอบกลับคำขอ ฟังก์ชันเหล่านี้สามารถทำงานต่างๆ ได้ เช่น การพิสูจน์ตัวตน การบันทึก การตรวจสอบความถูกต้องของข้อมูล และอื่นๆ Middleware ฟังก์ชันถูกดำเนินการตามลำดับ และแต่ละฟังก์ชัน middleware มีสิทธิ์เข้าถึง request
และ response
ออบเจกต์ เช่นเดียวกับ next
ฟังก์ชัน ซึ่งส่งผ่านการควบคุมไปยังฟังก์ชันถัดไป middleware ในสแต็ก
ทำไมต้องใช้ Middleware ?
Middleware เป็นสิ่งจำเป็นสำหรับการปรับฟังก์ชันการทำงานของแอปพลิเคชันของคุณให้เป็นโมดูลและเพิ่มความสามารถในการบำรุงรักษา ช่วยให้คุณสามารถรักษาตัวจัดการเส้นทางของคุณให้สะอาดและจดจ่อกับงานเฉพาะ ในขณะที่ลดภาระความกังวลทั่วไปหรือตัดปัญหาไปยัง middleware ฟังก์ชันต่างๆ การแยกข้อกังวลนี้ส่งเสริมการนำโค้ดกลับมาใช้ใหม่และทำให้โค้ดเบสของคุณเป็นระเบียบมากขึ้น
การสร้างและใช้งาน Middleware
middleware ใน การสร้าง คุณต้อง กำหนด Express.js ฟังก์ชันที่รับพารามิเตอร์สามตัว: request
, response
และ next
ต่อไปนี้คือตัวอย่างพื้นฐานที่ middleware บันทึกแต่ละคำขอที่เข้ามา:
คุณสามารถใช้ app.use()
วิธีนี้เพื่อใช้ middleware ทั่วโลกกับทุกเส้นทางหรือเลือกใช้เฉพาะเส้นทางก็ได้
ลำดับ Middleware การดำเนินการ
Middleware ฟังก์ชันจะดำเนินการตามลำดับที่กำหนดไว้โดย app.use()
ใช้
ตัวอย่างเช่น:
ในกรณีนี้ middleware1
จะดำเนินการก่อน middleware2
สำหรับคำขอที่เข้ามาทั้งหมด
การจัดการข้อผิดพลาดใน Middleware
หากเกิดข้อผิดพลาดภายใน middleware ฟังก์ชัน คุณสามารถส่งต่อข้อผิดพลาดไปยัง next
ฟังก์ชัน และ Express.js จะข้ามไปที่การจัดการข้อผิดพลาดโดย middleware อัตโนมัติ
นี่คือตัวอย่าง:
ใช้ Middleware สำหรับการตรวจสอบสิทธิ์
Middleware มักใช้สำหรับการดำเนินการรับรองความถูกต้องและการให้สิทธิ์ในเว็บแอปพลิเคชัน ตัวอย่างเช่น คุณสามารถสร้าง middleware ฟังก์ชันที่ตรวจสอบว่าผู้ใช้ได้รับการรับรองความถูกต้องหรือไม่ก่อนที่จะอนุญาตให้เข้าถึงบางเส้นทาง:
บทสรุป
Middleware in Express.js เป็นเครื่องมือสำคัญสำหรับการจัดการและปรับปรุงฟังก์ชันการทำงานของเว็บแอปพลิเคชันของคุณ ด้วยการสร้าง middleware ฟังก์ชันที่ใช้ซ้ำได้ คุณสามารถปรับปรุงโค้ดของคุณ ปรับข้อกังวลให้เป็นโมดูล และปรับปรุงความสามารถในการบำรุงรักษาโดยรวมของโครงการของคุณ ตั้งแต่การจัดการการยืนยันตัวตนไปจนถึงการบันทึกและการจัดการข้อผิดพลาด middleware ช่วยให้คุณสร้างเว็บแอปพลิเคชันที่แข็งแกร่งและปลอดภัยได้อย่างมีประสิทธิภาพ