Middleware ใน Node.js เป็นฟังก์ชันหรือโค้ดที่ทำงานร่วมกับแอปพลิเคชัน Express.js หรือโดยทั่วไปแล้วกับเซิร์ฟเวอร์ HTTP ใน Node.js เพื่อประมวลผลข้อมูลก่อนที่จะถึงตัวคอนโทรลเลอร์หรือเส้นทาง (route) หลัก หน้าที่หลักของ Middleware คือการจัดการข้อมูลและคำขอที่ถูกส่งมายังแอปพลิเคชันของคุณ โดยมีลักษณะการทำงานเป็นลูกโซ่ (chain) โดย Middleware สามารถใช้ในการดำเนินการต่าง ๆ เช่น:
Logging Middleware: ใช้สำหรับบันทึกข้อมูลการร้องขอที่เข้ามาหรือออกไปจากแอปพลิเคชัน เพื่อเป็นเครื่องมือในการตรวจสอบและบัugอกข้อมูลการทำงานของแอปพลิเคชัน.
Authentication Middleware: ใช้สำหรับตรวจสอบความถูกต้องของข้อมูลการร้องขอและความถูกต้องของผู้ใช้ โดยที่จะให้ผ่านไปยังคอนโทรลเลอร์เมื่อผู้ใช้ผ่านการตรวจสอบการพิสูจน์ตัวตน.
Error Handling Middleware: ใช้สำหรับจัดการข้อผิดพลาดที่เกิดขึ้นในระหว่างการดำเนินการ โดยรับข้อผิดพลาดและส่งการตอบกลับที่เหมาะสมเพื่อบอกว่ามีข้อผิดพลาดเกิดขึ้น.
สิทธิ์การเข้าถึง (Authorization) Middleware: ใช้สำหรับตรวจสอบสิทธิ์การเข้าถึงข้อมูลหรือการกระทำในแอปพลิเคชัน โดยที่จะตรวจสอบการอนุญาตก่อนที่ผู้ใช้จะเข้าถึงข้อมูลหรือการกระทำนั้น ๆ.
Compression Middleware: ใช้สำหรับบีบอัดเนื้อหาก่อนส่งไปยังผู้ใช้ เพื่อลดการใช้งานแบนด์วิดธ์และเพิ่มประสิทธิภาพในการโหลดเว็บ.
การจัดการไฟล์และรูปแบบอื่น ๆ: Middleware สามารถใช้ในการจัดการไฟล์ที่ถูกอัปโหลด หรือรูปแบบอื่น ๆ ของข้อมูลก่อนบันทึกลงฐานข้อมูลหรือประมวลผลต่อไป.
เพื่อใช้ Middleware ใน Express.js คุณสามารถใช้ app.use()
เพื่อเพิ่ม Middleware ลงในแอปพลิเคชันของคุณ:
1 | const express = require('express'); |
ในตัวอย่างนี้ Middleware ทำงานก่อนที่จะถึงเส้นทางหลัก และคุณสามารถเพิ่ม Middleware เพิ่มเติมโดยเรียก app.use()
ต่อไปในโค้ด Express.js ของคุณ.
Middleware เป็นส่วนสำคัญในการจัดการการร้องขอและการตอบกลับในแอปพลิเคชัน Node.js และ Express.js เพื่อทำให้การจัดการรหัสเป็นระเบียบและแยกตามหน้าที่ของแต่ละ Middleware ซึ่งช่วยให้โค้ดของคุณสะอาดและง่ายต่อการบำรุงรักษา.