12 ธ.ค. เวลา 02:00 • การศึกษา

ExpressJS คืออะไร

โดย
ในโลกของการพัฒนาเว็บแอปพลิเคชัน การมี "โครงสร้าง" และ "เครื่องมือ" ที่เหมาะสมคือกุญแจสำคัญสู่ความสำเร็จ แม้ Node.js จะมอบสภาพแวดล้อมอันทรงพลังให้ JavaScript ทำงานฝั่งเซิร์ฟเวอร์ได้ แต่การจะสร้างแอปพลิเคชันที่สมบูรณ์จากศูนย์โดยไม่มีเครื่องมือช่วยนั้นเป็นงานที่ท้าทาย และ ใช้เวลานาน นี่คือจุดกำเนิดของ Express.js - Minimalist Web Framework ที่เปลี่ยนการพัฒนา Backend บน Node.js ให้เป็นเรื่องที่รวดเร็ว เรียบง่าย และ เป็นระบบ
  • ​Express.js คืออะไร
Express.js (หรือเรียกสั้นๆ ว่า Express) คือ เฟรมเวิร์กสำหรับพัฒนาเว็บแอปพลิเคชัน และ API บน Node.js จุดเด่นของมันคือ "ความยืดหยุ่นสูง" และ "ไม่ผูกมัด" (Unopinionated) หมายความว่า Express มอบเครื่องมือพื้นฐาน และ โครงสร้างที่จำเป็นในการสร้างเซิร์ฟเวอร์ขึ้นมา แต่ไม่ได้บังคับว่าคุณต้องจัดระเบียบโค้ด หรือ ใช้เครื่องมือเสริมใดๆ เป็นรูปแบบเฉพาะ
  • ​Express.js ทำงานอย่างไร
Express ทำงานบน Node.js โดยเพิ่มชั้นความสามารถ (Layer of Abstraction) ที่ทำให้การจัดการคำขอ (Request) และ การตอบกลับ (Response) จากผู้ใช้เป็นระบบ และ ง่ายดายยิ่งขึ้น ผ่านกลไกหลักสองอย่าง
1) Middleware (ซอฟต์แวร์ตัวกลาง)
เป็นหัวใจของ Express Middleware คือฟังก์ชัน หรือ ซอฟต์แวร์ขนาดเล็กที่สามารถเข้าถึง Request Object, Response Object และ ฟังก์ชัน next() ได้ มันทำงานเป็น "สายพานลำเลียง" หรือ "ด่านตรวจ" ซึ่งคำขอ HTTP ทุกคำขอจะต้องผ่าน Middleware เหล่านี้ตามลำดับ
○ ตัวอย่างหน้าที่
ตรวจสอบการล็อกอิน, บีบอัดไฟล์, แปลงรูปแบบข้อมูล (Parsing JSON), บันทึกกิจกรรม (Logging)
○ การทำงาน
เมื่อมีคำขอเข้ามา เช่น GET /users คำขอนั้นจะถูกประมวลผลโดย Middleware ที่กำหนดไว้ทีละตัว จนกว่าจะสิ้นสุดกระบวนการ และ ส่งผลลัพธ์กลับไป
2) Routing (การกำหนดเส้นทาง)
Express ทำให้การกำหนดเส้นทาง URL ไปยังฟังก์ชันจัดการ (Handler Function) เป็นเรื่องง่ายมาก
○ คุณสามารถระบุได้อย่างชัดเจนว่าเมื่อมีใครเข้ามาที่เส้นทาง /products ด้วยเมธอด GET จะให้แสดงรายการสินค้า
○ เมื่อมีใครส่งข้อมูลมาที่เส้นทาง /login ด้วยเมธอด POST จะให้ทำการตรวจสอบรหัสผ่าน
กลไก Middleware และ Routing นี้เองที่ประกอบกันเป็นเส้นทางเดินของข้อมูลภายในเซิร์ฟเวอร์ สร้างลำดับการประมวลผลที่ชัดเจน และ ควบคุมได้
  • ​ประเภทของงานที่เหมาะกับ Express.js
1) RESTful API Services
เป็นกรณีการใช้งานที่พบมากที่สุด เหมาะสำหรับสร้าง Backend API เพื่อให้บริการข้อมูลแก่ Frontend (เช่น React, Vue.js, แอปมือถือ)
2) เว็บแอปพลิเคชันแบบ SSR (Server-Side Rendered) สามารถใช้กับเทมเพลตเอนจิ้น (เช่น EJS, Pug) เพื่อสร้างหน้า HTML บนเซิร์ฟเวอร์ และ ส่งไปให้ผู้ใช้
3) ไมโครเซอร์วิส (Microservices)
เนื่องจาก Express โครงสร้างเบา และ เริ่มต้นเร็ว จึงเหมาะสำหรับการสร้างบริการย่อยๆ ที่ทำงานอิสระต่อกันในสถาปัตยกรรมขนาดใหญ่
4) Prototype และ MVP ใช้เพื่อสร้างตัวอย่างการทำงานหรือผลิตภัณฑ์ขั้นต่ำ (Minimum Viable Product) ได้อย่างรวดเร็ว เพื่อทดสอบตลาด
  • ​ประโยชน์
✅️ เรียบง่ายและเรียนรู้เร็ว
มีความซับซ้อนต่ำ ไวยากรณ์อ่านเข้าใจง่าย ทำให้ผู้เริ่มต้นกับ Node.js สามารถสร้างเซิร์ฟเวอร์พื้นฐานได้ในเวลาไม่กี่นาที
✅️ ความยืดหยุ่นสูงสุด (Unopinionated)
ไม่ได้บังคับโครงสร้างโปรเจ็กต์ หรือ เครื่องมือเฉพาะตัว นักพัฒนามีอิสระในการเลือกใช้ไลบรารี Database, เทมเพลตเอนจิ้น หรือ สถาปัตยกรรมที่ต้องการ
✅️ ระบบ Middleware ที่แข็งแกร่งและหลากหลาย
มี Middleware ให้เลือกใช้ทั้งที่เป็นของ Express เองและ จากชุมชน (Third-party) มากมาย สำหรับจัดการงานทั่วไป เช่น express.json() สำหรับอ่านข้อมูล JSON, express.static() สำหรับเสิร์ฟไฟล์ หรือ cors สำหรับจัดการ Cross-Origin Resource Sharing
✅️ ประสิทธิภาพสูง
เนื่องจากมีขนาดเล็ก และ ทำงานบน Node.js โดยตรง จึงมีประสิทธิภาพสูง และ ประมวลผลได้รวดเร็ว
✅️ ชุมชนและระบบนิเวศที่มุ่งมั่น
เป็นเฟรมเวิร์กที่ได้รับความนิยมสูงสุดในวงการ Node.js ทำให้มี Tutorial, โมดูลเสริม และ คำตอบสำหรับปัญหาเกือบทุกเรื่องบนชุมชนออนไลน์อย่าง Stack Overflow
  • ​ตัวอย่างการใช้งาน
สมมติว่าเราต้องการสร้าง Backend API เบื้องต้นสำหรับแอปบันทึกกิจกรรม (To-Do App)
1) เซ็ตอัพเบื้องต้น
ติดตั้ง Express และ สร้างไฟล์หลัก จากนั้นเริ่มต้นเซิร์ฟเวอร์ให้รอรับคำขอที่พอร์ตหนึ่ง (เช่น พอร์ต 3000)
2) กำหนดเส้นทาง (Routing)
○ สร้างเส้นทาง GET /todos เพื่อส่งกลับรายการกิจกรรมทั้งหมดในรูปแบบ JSON
○ สร้างเส้นทาง POST /todos เพื่อรับข้อมูลกิจกรรมใหม่จากผู้ใช้ (ผ่าน Request Body) แล้วบันทึกลงในฐานข้อมูล หรือ อาร์เรย์ชั่วคราว
○ สร้างเส้นทาง PUT /todos/:id เพื่ออัปเดตข้อมูลกิจกรรมเฉพาะรายการ
○ สร้างเส้นทาง DELETE /todos/:id เพื่อลบกิจกรรมออก
3) เพิ่ม Middleware
ใช้ Middleware express.json() เพื่อให้เซิร์ฟเวอร์สามารถอ่านข้อมูล JSON ที่ส่งมากับคำขอ POST หรือ PUT ได้
4) ทดสอบ
ใช้เครื่องมือเช่น Postman หรือ เขียน Frontend เบื้องต้นเพื่อทดสอบส่งคำขอไปยังเส้นทางต่างๆ ที่สร้างขึ้น และ ดูผลลัพธ์ที่ได้กลับมา
✏️ Shoper Gamer
  • ​NodeJS คืออะไร 👇
  • ​JavaScript คืออะไร? ทำไมถึงสำคัญที่สุดในโลกเว็บ 👇
  • ​Vue คืออะไร 👇
Credit :
👇
  • ​https://expressjs.com/
  • ​https://www.blockdit.com/posts/5fd5dc4eb5d3790cbfd8964d
  • ​https://kinsta.com/blog/what-is-express-js/
  • ​https://tinyurl.com/38sff69t
โฆษณา