Express.js (thường gọi ngắn gọn là Express) là một framework web dành cho Node.js, giúp lập trình viên xây dựng ứng dụng web và API một cách nhanh chóng, linh hoạt và tối ưu hơn.
Nói cách khác, nếu Node.js là “động cơ” (engine) giúp chạy JavaScript phía server, thì Express.js là “bộ khung” giúp bạn dễ dàng tổ chức, định tuyến, quản lý request/response và phát triển ứng dụng web.
🏗️ Ngôn ngữ: JavaScript
🚀 Nền tảng: Node.js
📦 Giấy phép: MIT
👨💻 Tác giả: TJ Holowaychuk (phát hành lần đầu năm 2010)
Express được coi là framework phổ biến nhất của Node.js, bởi vì:
Lợi ích | Mô tả |
---|---|
⚡ Nhanh & nhẹ | Express rất gọn, không có quá nhiều lớp trung gian, chạy nhanh và linh hoạt. |
🧩 Middleware linh hoạt | Hỗ trợ middleware – cho phép xử lý request/response một cách tùy chỉnh. |
🗺️ Routing mạnh mẽ | Cung cấp hệ thống định tuyến (Router) dễ dùng, giúp quản lý URL, REST API, v.v. |
🔌 Tích hợp dễ dàng | Dễ tích hợp với database (MongoDB, MySQL, PostgreSQL…), template engine, session, JWT,… |
🌐 Cộng đồng lớn | Có hàng nghìn module mở rộng, tài liệu phong phú và hỗ trợ mạnh mẽ từ cộng đồng. |
Node.js (>= 14)
NPM (Node Package Manager)
Chạy lệnh:
→ Mở trình duyệt truy cập: http://localhost:3000
Middleware là hàm trung gian xử lý request trước khi gửi response.
Ví dụ:
Router giúp định nghĩa các đường dẫn (route) và hành vi khi người dùng truy cập chúng.
Request (req): chứa thông tin từ client gửi lên (body, query, params,…)
Response (res): dùng để gửi phản hồi về client.
Tính năng | Mô tả |
---|---|
🧭 Routing |
Quản lý đường dẫn URL dễ dàng bằng app.get() , app.post() , app.put() , app.delete() |
🪄 Middleware | Xử lý chuỗi yêu cầu phức tạp (như xác thực, logging, parsing JSON, xử lý lỗi,…) |
💾 Static files |
Cung cấp file tĩnh (CSS, hình ảnh, JS) qua express.static() |
🗂️ Template engines | Hỗ trợ EJS, Pug, Handlebars để render giao diện động |
🔐 Session & Authentication | Hỗ trợ xác thực (Passport.js, JWT, cookie-session) |
🧮 API RESTful | Dễ dàng tạo REST API cho ứng dụng frontend (React, Vue, Angular) |
Express không ràng buộc vào loại CSDL cụ thể nào, bạn có thể dùng:
CSDL | Thư viện gợi ý |
---|---|
MongoDB | Mongoose |
MySQL / PostgreSQL | Sequelize |
Firebase | Firebase SDK |
Ví dụ dùng MongoDB:
Express hỗ trợ middleware xử lý lỗi toàn cục:
Cấu trúc đơn giản, dễ học
Tốc độ xử lý cao
Linh hoạt, dễ mở rộng
Tương thích tốt với nhiều công nghệ web hiện đại
Không có cấu trúc cứng nhắc → người mới dễ viết code lộn xộn
Cần thêm thư viện bên ngoài cho nhiều tính năng (session, auth, validation, ORM, …)
Nhiều framework hiện đại được xây dựng dựa trên Express, ví dụ:
🧱 NestJS – hướng đối tượng, cấu trúc mô-đun, dùng TypeScript.
⚙️ Sails.js – hỗ trợ MVC và real-time socket.nene
💡 LoopBack – mạnh về xây dựng REST API tự động.
Express.js là một trong những framework quan trọng nhất trong hệ sinh thái Node.js, đóng vai trò nền tảng cho vô số ứng dụng web, REST API và dịch vụ backend hiện nay.
Dù K31 hay các K30, K29 thì các bạn sinh viên nên nắm vững Express là bước đầu tiên để tiến tới các hệ thống phức tạp hơn như NestJS, GraphQL, hay microservices.
» Các tin khác: