express.jsคืออะไร...!!!
#ป้ายยากับlemon8 #Lemon8ฮาวทู #ติดเทรนด์ #พื้นฐานการเขียนเว็ปไซต์ #nodejs
Express.js (หรือเรียกสั้น ๆ ว่า Express) คือ Web Application Framework ที่ได้รับความนิยมมากที่สุดสำหรับ Node.js ครับ
💡 Express.js คืออะไร?
Express.js เป็นเลเยอร์ที่อยู่บนสุดของ Node.js ที่ช่วยให้การสร้างเว็บแอปพลิเคชันและ API (Application Programming Interface) ทำได้ง่ายและรวดเร็วยิ่งขึ้น
มันถูกออกแบบมาให้เป็น Minimalist Framework (กรอบการทำงานแบบเรียบง่าย) ซึ่งหมายความว่ามันให้คุณสมบัติหลัก ๆ ที่จำเป็นเท่านั้น และอนุญาตให้คุณสามารถเลือกใช้ "Middleware" หรือเครื่องมืออื่น ๆ มาประกอบเพิ่มเติมได้ตามความต้องการของโปรเจกต์
🔑 คุณสมบัติหลัก
Routing (การกำหนดเส้นทาง): จัดการว่า Server จะตอบสนองต่อคำขอ HTTP (เช่น GET, POST, PUT, DELETE) ที่ URL ต่าง ๆ อย่างไร
Middleware: เป็นฟังก์ชันที่สามารถเข้าถึงวัตถุ Request (req), Response (res), และฟังก์ชัน next ในวงจร Request-Response ของแอปพลิเคชันได้ ใช้สำหรับงานต่าง ๆ เช่น การบันทึกข้อมูล (logging), การจัดการ Session, การตรวจสอบสิทธิ์ (Authentication), และการจัดการ Body ของ Request (เช่น JSON)
Template Engines: รองรับ Template Engine หลากหลายชนิด ทำให้ง่ายต่อการสร้างหน้าเว็บแบบ Dynamic (แม้ว่า Express จะถูกใช้บ่อยกว่าในการสร้าง API ซึ่งไม่จำเป็นต้องใช้ Template Engine)
High Performance: เนื่องจากทำงานบน Node.js ซึ่งใช้ V8 JavaScript Engine ของ Google Chrome และเป็นแบบ Non-blocking I/O (Input/Output) ทำให้ Express มีความสามารถในการจัดการคำขอจำนวนมากพร้อมกันได้อย่างรวดเร็ว
🤝 ความสัมพันธ์กับ Node.js
Express.js ไม่สามารถทำงานได้โดยไม่มี Node.js
Node.js คือ Runtime Environment ที่อนุญาตให้คุณรัน JavaScript นอกเว็บเบราว์เซอร์ และเป็นพื้นฐานในการทำงานของ Server
Express.js คือ เครื่องมือ ที่ช่วยเสริมความสามารถของ Node.js ในการสร้าง Web Server โดยเฉพาะ ทำให้การเขียนโค้ดสำหรับ Server-side ง่ายขึ้นมาก เมื่อเทียบกับการใช้โมดูล HTTP ดั้งเดิมของ Node.js
🌍 สรุปโดยง่าย (The MEAN/MERN Stack)
Express.js เป็นส่วนสำคัญของกลุ่มเทคโนโลยีที่เรียกว่า "Stack" ที่ได้รับความนิยมอย่างสูง:
MEAN Stack: MongoDB, Express.js, Angular, Node.js
MERN Stack: MongoDB, Express.js, React, Node.js
Express.js มักถูกใช้เป็นส่วน "Backend" เพื่อจัดการกับตรรกะทางธุรกิจ, การเชื่อมต่อฐานข้อมูล, และการให้บริการข้อมูลผ่าน API ครับ






