Express.js là gì?
Express.js là một framework web ứng dụng cho Node.js, được thiết kế để xây dựng các ứng dụng web và API một cách nhanh chóng và dễ dàng. Nó cung cấp một bộ công cụ đơn giản và linh hoạt cho việc phát triển server-side, giúp giảm bớt công sức và thời gian khi làm việc với các ứng dụng web trong Node.js.
Các đặc điểm chính của Express.js:
-
Tối giản và linh hoạt:
- Express.js cung cấp một bộ tính năng tối giản nhưng mạnh mẽ để xây dựng các ứng dụng web. Nó cho phép bạn tự do lựa chọn các thành phần và middleware cần thiết cho dự án của mình.
-
Middleware:
- Express.js sử dụng khái niệm middleware để xử lý các yêu cầu HTTP. Middleware là các hàm có thể truy cập yêu cầu (request), phản hồi (response), và chuỗi middleware tiếp theo trong vòng đời của một yêu cầu HTTP.
-
Routing:
- Express.js cung cấp hệ thống routing mạnh mẽ, cho phép bạn xác định các tuyến đường (route) cho các phương thức HTTP khác nhau và quản lý các tuyến đường động.
-
Tích hợp dễ dàng:
- Express.js dễ dàng tích hợp với nhiều thư viện và công cụ khác, chẳng hạn như template engines (ejs, pug), cơ sở dữ liệu (MongoDB, MySQL), và các middleware tùy chỉnh.
Cách sử dụng Express.js
Dưới đây là các bước cơ bản để sử dụng Express.js:
-
Cài đặt Node.js và NPM:
- Trước tiên, bạn cần cài đặt Node.js và NPM từ trang web chính thức.
-
Khởi tạo dự án Node.js:
- Tạo một thư mục mới cho dự án của bạn và khởi tạo dự án Node.js bằng cách chạy lệnh:
mkdir my-express-app cd my-express-app npm init -y
- Tạo một thư mục mới cho dự án của bạn và khởi tạo dự án Node.js bằng cách chạy lệnh:
-
Cài đặt Express.js:
- Cài đặt Express.js bằng NPM:
npm install express
- Cài đặt Express.js bằng NPM:
-
Tạo tệp
app.js
:- Tạo một tệp mới có tên
app.js
và thêm mã sau:const express = require('express'); const app = express(); const port = 3000; // Middleware cho phép xử lý yêu cầu HTTP app.use(express.json()); // Định nghĩa một route đơn giản cho HTTP GET app.get('/', (req, res) => { res.send('Hello, World!'); }); // Máy chủ lắng nghe trên cổng 3000 app.listen(port, () => { console.log(`Server is running at http://localhost:${port}`); });
- Tạo một tệp mới có tên
-
Chạy ứng dụng:
-
Mở terminal, điều hướng đến thư mục chứa
app.js
, và chạy lệnh:node app.js
-
Mở trình duyệt và truy cập
http://localhost:3000/
, bạn sẽ thấy thông điệp "Hello, World!".
-
Ví dụ nâng cao hơn với Express.js
Dưới đây là một ví dụ phức tạp hơn bao gồm routing, middleware tùy chỉnh, và xử lý dữ liệu từ yêu cầu POST.
-
Cài đặt thêm body-parser:
- Body-parser là middleware để phân tích dữ liệu body của yêu cầu HTTP:
npm install body-parser
- Body-parser là middleware để phân tích dữ liệu body của yêu cầu HTTP:
-
Cập nhật
app.js
với body-parser và các route bổ sung:const express = require('express'); const bodyParser = require('body-parser'); const app = express(); const port = 3000; // Middleware để phân tích dữ liệu body của yêu cầu app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); // Middleware tùy chỉnh để log thông tin yêu cầu app.use((req, res, next) => { console.log(`${req.method} ${req.url}`); next(); }); // Định nghĩa route GET cho trang chủ app.get('/', (req, res) => { res.send('Hello, World!'); }); // Định nghĩa route GET cho trang về chúng tôi app.get('/about', (req, res) => { res.send('About Us'); }); // Định nghĩa route POST để xử lý form app.post('/submit', (req, res) => { const { name, email } = req.body; res.send(`Name: ${name}, Email: ${email}`); }); // Xử lý các yêu cầu không tìm thấy (404) app.use((req, res) => { res.status(404).send('Page Not Found'); }); // Máy chủ lắng nghe trên cổng 3000 app.listen(port, () => { console.log(`Server is running at http://localhost:${port}`); });
-
Chạy lại ứng dụng:
- Mở terminal và chạy lệnh:
node app.js
- Mở terminal và chạy lệnh:
-
Kiểm tra các route:
- Truy cập
http://localhost:3000/
để thấy thông điệp "Hello, World!". - Truy cập
http://localhost:3000/about
để thấy thông điệp "About Us". - Sử dụng công cụ như Postman hoặc cURL để gửi yêu cầu POST đến
http://localhost:3000/submit
với dữ liệuname
vàemail
.
- Truy cập
Kết luận
Express.js là một framework mạnh mẽ và linh hoạt để phát triển các ứng dụng web với Node.js. Với hệ thống middleware và routing mạnh mẽ, Express.js giúp bạn xây dựng các ứng dụng từ đơn giản đến phức tạp một cách dễ dàng và hiệu quả. Nhờ vào sự đơn giản và hiệu quả, Express.js đã trở thành lựa chọn phổ biến cho việc phát triển server-side trong cộng đồng Node.js.
Comments