Node.js และ Express ได้กลายเป็นเครื่องมือที่มีศักยภาพสำหรับการสร้างแอปพลิเคชันเว็บแบบไดนามิกในภูมิทัศน์การพัฒนาเว็บที่เปลี่ยนแปลงอย่างรวดเร็ว Node.js เป็นสภาพแวดล้อมรันไทม์ JavaScript ฝั่งเซิร์ฟเวอร์ ในขณะที่ Express เป็นเฟรมเวิร์กแอปพลิเคชันเว็บแบบมินิมอลที่ทำงานบน Node.js การทำงานร่วมกันช่วยให้โปรแกรมเมอร์สามารถสร้างเว็บแอปที่รวดเร็ว ปรับขนาดได้ และเต็มไปด้วยฟีเจอร์ต่างๆ ในบทความนี้ เราจะตรวจสอบแนวคิดพื้นฐานเบื้องหลังการพัฒนาเว็บแอปแบบไดนามิกด้วย Node.js และ Express
1. การตั้งค่าสภาพแวดล้อม
ก่อนที่เราจะเจาะลึกในการสร้างแอปพลิเคชัน มาตั้งค่าสภาพแวดล้อมการพัฒนาของเราก่อน ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Node.js บนระบบของคุณโดยไปที่เว็บไซต์อย่างเป็นทางการของ Node.js (https://nodejs.org/) และทำตามคำแนะนำในการติดตั้งสำหรับระบบปฏิบัติการของคุณ เมื่อติดตั้ง Node.js แล้ว เราสามารถสร้างไดเร็กทอรีโปรเจ็กต์ใหม่และเริ่มต้นโดยใช้ npm (Node Package Manager)
mkdir my-dynamic-app cd my-dynamic-app npm init -y
คำสั่งนี้จะสร้างไฟล์ package.json
ซึ่งจะติดตามการขึ้นต่อกันของโปรเจ็กต์ของเรา
2. การติดตั้ง Express
ต่อไปเราต้องติดตั้ง Express เป็นเฟรมเวิร์กแอปพลิเคชันเว็บของเรา เปิดเทอร์มินัลของคุณและรันคำสั่งต่อไปนี้:
npm install express
3. การสร้างเซิร์ฟเวอร์
เมื่อติดตั้ง Express แล้ว เราก็สามารถเริ่มสร้างเซิร์ฟเวอร์ของเราได้ สร้างไฟล์ชื่อ app.js
ในไดเรกทอรีโครงการ ไฟล์นี้จะทำหน้าที่เป็นจุดเริ่มต้นสำหรับแอปพลิเคชันของเรา
// 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(`Server running on http://localhost:${port}`); });
เริ่มต้นเซิร์ฟเวอร์ด้วยการรัน:
node app.js
ไปที่ http://localhost:3000
บนเว็บเบราว์เซอร์ของคุณเพื่อดูข้อความ 'Hello, World!' ข้อความ.
4. การสร้างเส้นทางแบบไดนามิก
ข้อดีที่สำคัญที่สุดประการหนึ่งของการใช้ Express คือความสามารถในการกำหนดเส้นทาง การกำหนดเส้นทางช่วยให้เราสามารถจัดการกับคำขอ HTTP ที่แตกต่างกันและตอบสนองด้วยข้อมูลที่เหมาะสม มาสร้างเส้นทางแบบไดนามิกที่แสดงคำทักทายส่วนตัวให้กับผู้ใช้กันดีกว่า
// app.js // ... (previous code) app.get('/greet/:name', (req, res) => { const name = req.params.name; res.send(`Hello, ${name}!`); }); // ... (remaining code)
ตอนนี้ เมื่อคุณเยี่ยมชม http://localhost:3000/greet/John
เซิร์ฟเวอร์จะตอบกลับว่า 'สวัสดี จอห์น!'
5. การใช้มิดเดิลแวร์
ฟังก์ชันมิดเดิลแวร์ใน Express คือฟังก์ชันที่สามารถเข้าถึงออบเจ็กต์การร้องขอและการตอบกลับ สามารถใช้สำหรับงานต่างๆ เช่น การบันทึก การแยกวิเคราะห์ข้อมูล การรับรองความถูกต้อง ฯลฯ มาสร้างมิดเดิลแวร์ง่ายๆ ที่จะบันทึกการประทับเวลาปัจจุบันทุกครั้งที่มีการร้องขอไปยังเซิร์ฟเวอร์
// app.js // ... (previous code) // Middleware app.use((req, res, next) => { console.log(`Request received at ${new Date()}`); next(); }); // ... (remaining code)
6. ให้บริการไฟล์แบบคงที่
Express ยังทำให้การแสดงไฟล์คงที่ เช่น CSS, รูปภาพ และไฟล์ JavaScript ฝั่งไคลเอ็นต์เป็นเรื่องง่าย สร้างโฟลเดอร์ชื่อ public
ในไดเร็กทอรีโปรเจ็กต์ของคุณ และวางไฟล์สแตติกไว้ที่นั่น
mkdir public
ตอนนี้ เรามาสั่งให้ Express ให้บริการไฟล์คงที่เหล่านี้โดยใช้มิดเดิลแวร์ express.static
ในตัว
// app.js // ... (previous code) app.use(express.static('public')); // ... (remaining code)
ตอนนี้ไฟล์ใดๆ ก็ตามที่อยู่ในไดเร็กทอรี public
จะสามารถเข้าถึงได้ผ่านเบราว์เซอร์
7. รหัสที่เสร็จสมบูรณ์
ด้านล่างนี้เป็นโค้ดที่สมบูรณ์สำหรับเว็บแอปพลิเคชันไดนามิกของเราที่ใช้ Node.js และ Express:
// app.js const express = require('express'); const app = express(); const port = 3000; // Middleware app.use((req, res, next) => { console.log(`Request received at ${new Date()}`); next(); }); // Routes app.get('/', (req, res) => { res.send('Hello, World!'); }); app.get('/greet/:name', (req, res) => { const name = req.params.name; res.send(`Hello, ${name}!`); }); // Serving Static Files app.use(express.static('public')); app.listen(port, () => { console.log(`Server running on http://localhost:${port}`); });
บทสรุป
ยินดีด้วย! คุณได้สร้างเว็บแอปพลิเคชันแบบไดนามิกโดยใช้ Node.js และ Express สำเร็จแล้ว พร้อมด้วยความสามารถในการกำหนดเส้นทาง มิดเดิลแวร์ และการให้บริการไฟล์แบบคงที่
วันนี้ เราได้สำรวจพื้นฐานของการสร้างเว็บแอปพลิเคชันแบบไดนามิกโดยใช้ Node.js และ Express แล้ว เราเริ่มต้นด้วยการตั้งค่าสภาพแวดล้อมการพัฒนาและติดตั้ง Express จากนั้นเราสร้างเซิร์ฟเวอร์ที่เรียบง่าย สร้างเส้นทางไดนามิก ติดตั้งมิดเดิลแวร์ และเรียนรู้วิธีให้บริการไฟล์แบบคงที่ ความเรียบง่ายและความยืดหยุ่นของ Express ทำให้เป็นตัวเลือกยอดนิยมสำหรับนักพัฒนาที่ต้องการสร้างแอปพลิเคชันเว็บแบบไดนามิกและปรับขนาดได้
เมื่อคุณเดินทางต่อไปด้วย Node.js และ Express โปรดจำไว้ว่าความเป็นไปได้มีมากมาย และคุณสามารถใช้ประโยชน์จากไลบรารีและแพ็คเกจต่างๆ เพื่อปรับปรุงแอปพลิเคชันของคุณให้ดียิ่งขึ้นได้ ขอให้มีความสุขในการเขียนโค้ด!