Express.js là một framework web cho Node.js giúp xây dựng ứng dụng backend một cách nhanh chóng và linh hoạt. Đây là một trong những framework phổ biến nhất khi phát triển REST API hoặc ứng dụng web.
Cài đặt: https://www.npmjs.com/package/express
Docs & community: https://expressjs.com/
Đặc điểm nổi bật của Express.js
- Nhẹ & tối giản: Chỉ cung cấp những tính năng cần thiết cho ứng dụng web.
- Dễ dàng mở rộng: Hỗ trợ middleware để xử lý yêu cầu và phản hồi.
- Hỗ trợ routing mạnh mẽ: Dễ dàng định nghĩa các tuyến đường (routes) cho API.
- Tích hợp với nhiều template engine: Như Pug, EJS, Handlebars.
- Tương thích với nhiều database.
Cách hoạt động của Express.js
Express giúp xử lý các yêu cầu HTTP bằng cách sử dụng middleware và routes:
- Nhận yêu cầu từ client.
- Xử lý yêu cầu thông qua middleware
- Trả về phản hồi cho client.
Cấu trúc cơ bản của một project
Khi tạo một project, thường có cấu trúc thư mục như sau:
/my-project
│── /node_modules # Thư viện npm
│── /routes # Các route của API
│── /controllers # Xử lý logic
│── /middlewares # Middleware (xác thực, log,...)
│── /public # Chứa file tĩnh (CSS, JS, images)
│── /views # Template engine (nếu có)
│── app.js # File chính
│── package.json # Danh sách dependencies
Một số khái niệm
Khởi tạo express
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}`)
})
Middleware
Middleware là các hàm trung gian giúp xử lý request trước khi gửi phản hồi.
Ví dụ về middleware:
Routing
Định nghĩa các tuyến đường (routes) để xử lý các yêu cầu cụ thể.
...
Cài Nodemon
Nodemon là một công cụ phục vụ cho NodeJS.
Giúp tự động khởi động lại ứng dụng khi phát hiện các thay đổi của tệp.
Link NPM: https://www.npmjs.com/package/nodemon
Hướng dẫn cài đặt:
- Bước 1: Chạy câu lệnh npm i --save-dev nodemon
- Bước 2: Thêm dòng "start": "nodemon --inspect index.js" vào mục script trong file package.json
- Bước 3: Chạy npm start
Top comments (0)