เนื้อหานี้ จะเป็นบทความเกี่ยวกับ ExpressJs หรือเรียกสั้นๆว่า
Express เป็นเนื้อหาเริ่มต้นแรกที่จะเขียนเกี่ยวกับการใช้งาน
โดยจะพยายามให้มีความสอดคล้องไปพร้อมๆ กับเนื้อหาในหมวด NodeJs
Express คืออะไร
Express คือ web framework ที่พัฒนาจาก NodeJs ที่มีขนาดเล็ก และมีความยืดหยุ่น
มาพร้อมกับคุณลักษณะเด่นและความสามารถที่หลากหลาย สำหรับใช้ในการพัฒนา web หรือ
mobile app
การติดตั้ง Express
ก่อนอื่น อย่างที่เกริ่นไปว่า Express พัฒนามาจาก NodeJs ดังนั้น เราต้องทำการติดตั้ง NodeJs
ก่อน ส่วนนี้สามารถอ่านเพิ่มเติมได้ที่ http://niik.in/903
สมมติในที่นี้เราจะพัฒนาด้วย Express ไว้ในโฟลเดอร์ C > projects > expressjs
เปิดโปรแกรม VSCode และเปิดโฟลเดอร์ที่เราจะใช้งาน จากนั้น พิมพ์คำสั่ง
npm init
เพื่อสร้างไฟล์ package.json สำหรับจัดการเกียวกับโปรเจ็คของเรา
สามารถกด Enter ไปเรื่อยๆ จนจบข้้นตอน เราสามารถมาแก้ไขทีหลังได้ เพื่อสร้างไฟล์
package.json จะได้ไฟล์ดังรูปผลลัพธ์ด้านล่าง
ให้เราแก้ไขไฟล์ index.js เปลี่ยนเป็น app.js ในไฟล์ package.json หรือใครจะใช้ค่าเดิมที่เป็น index.js ก็ได้
ต่อไปติดตั้ง Express มาไว้ในโปรเจ็คของเรา และบันทึกเป็นรายการ dependency ไว้ในไฟล์
package.json ด้วยคำสั่ง
npm install express --save
สังเกตผลลัพธ์ตามรูปด้านล่าง
จะเห็นว่ามีการเพิ่ม dependencies property เป็น "express": "^4.16.4" เข้ามาใช้ไฟล์ package.json
รวมถึงสร้างไฟล์ package-lock.json สำหรับเก็บข้อมูล require module ต่างๆ ที่ Express จะเรียกใช้งาน
นอกจากนั้น จะมีโฟลเดอร์ที่ชื่อ node_module ที่รวม module สำหรับการพัฒนาด้วย Express
เริ่มต้นสร้าง Web App ด้วย Exprexs
เมื่อเราเตรียมทุกอย่างพร้อมแล้ว ก็มาสู่ขั้นตอนของการสร้าง web app เบื้องต้น ซึ่งเป็นเพียงรูปแบบ
อย่างง่ายเท่านั้น ให้เราสร้างไฟล์ชื่อ app.js และกำหนดโค้ดตามตัวอย่างด้านล่าง
const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => res.send('Hello World!')) app.listen(port, () => console.log(`Example app listening on port ${port}!`))
ถ้าเราสังเกตดีๆ รูปแบบจะคล้ายๆ กับ การพัฒนาในรูปแบบ NodeJs แต่จะดูเรียบง่ายกว่า
ในรูปแบบของ NodeJs นั่นคือคุณสมบัติของ Express ก็เพื่อให้ใช้งานง่ายขึ้น
ทดสอบรัน web app ของเรา โดยใช้วิธีเดียวกันกับการพัฒนาด้วย NodeJs ให้รันด้วยคำสั่ง
node app
หรือหากใช้ nodemon ก็จะสามารถรันด้วย nodemon app ก็ได้ ผลลัพธ์ ก็เป็นไปตามตัวอย่างด้านล่าง
จะเห็นว่า เขียนได้ง่ายและสะดวก กว่าการใช้งานในรูปแบบ NodeJs โดยตรง
เนื้อหาตอนหน้า เราจะมาดูเกี่ยวกับการใช้งาน Express generator