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 โปรดจำไว้ว่าความเป็นไปได้มีมากมาย และคุณสามารถใช้ประโยชน์จากไลบรารีและแพ็คเกจต่างๆ เพื่อปรับปรุงแอปพลิเคชันของคุณให้ดียิ่งขึ้นได้ ขอให้มีความสุขในการเขียนโค้ด!