Express Framework trong Node.js – VietTuts

Express là một framework nhỏ và tiện ích để xây dựng các ứng dụng web, cung cấp một lượng lớn của tính năng mạnh mẽ để phát triển các ứng dụng web và mobile. Nó rất dễ dàng để phát triển các ứng dụng nhanh dựa trên Node.js cho các ứng dụng Web. Dưới đây là các tính năng cơ bản của Express framework.

Đầu tiên, tạo một thư mục E:\express\myapp để lưu trữ ứng dụng của bạn. Sau đó cd đến thư mục này:

Sử dụng lệnh npm init để tạo một file package.json cho ứng dụng của bạn.

Lệnh này sẽ nhắc bạn một số điều, chẳng hạn như tên, mô tả và phiên bản của ứng dụng của bạn. Hiện tại, bạn chỉ cần nhấn RETURN để chấp nhận mặc định, với ngoại lệ sau:

Nhập app.js, hoặc bất cứ tên nào bạn muốn đặt tên thay thế cho index.js. Nếu bạn muốn index.js, hãy nhấn RETURN để chấp nhận tên tệp mặc định được đề xuất.

Bây giờ cài đặt Express framework trong thư mục E:\express\myapp bằng npm: npm install express --save

Lệnh trên lưu phần cài đặt trong thư mục node_modules và tạo thư mục express bên trong thư mục đó. Dưới đây là các thành phần module quan trọng được cài đặt cùng với express:

Dưới đây là một ví dụ rất cơ bản của Express minh họa cách bật Server và lắng nghe các kết nối trên cổng 8081. Ứng dụng này trả về Hello World! cho các requests đến trang chủ. Đối với các đường dẫn khác, nó sẽ trả về một 404 Not Found.

Tạo server.js có nội dung sau:

Chạy server.js để xem kết quả.

Kết quả:

Mở http://127.0.0.1:8081/ trong bất kỳ trình duyệt nào và xem kết quả.

Ứng dụng Express sử dụng một hàm callback có các tham số là các đối tượng requestresponse.

Bạn có thể tham khảo chi tiết về 2 đối tượng này dưới đây:

Bạn có thể in ra các đối tượng reqres để cung cấp một lượng lớn thông tin liên quan đến HTTP request và trả về các cookie, session, URL …

Ở trên, bạn vừa theo dõi một ứng dụng cơ bản mà Server HTTP request đến một trang chủ. Định tuyến liên quan đến cách xác định một ứng dụng trả về cho một Client Request đến một Endpoint cụ thể, đó là một đường dẫn URI và trả về một phương thức HTTP request (GET, POST và các phương thức khác).

Dựa vào chương trình Hello World trên, mình sẽ phát triển thêm một số chức năng bổ sung để xử lý các HTTP request.


var express = require('express');
var app = express();

// Phuong thuc get() phan hoi mot GET Request ve Homepage
app.get('/', function (req, res) {
   console.log("Nhan mot GET Request ve Homepage");
   res.send('Hello GET');
})

// Phuong thuc post() phan hoi mot POST Request ve Homepage
app.post('/', function (req, res) {
   console.log("Nhan mot POST Request ve Homepage");
   res.send('Hello POST');
   
})

// Phuong thuc delete() phan hoi mot DELETE Request ve /del_user page.
app.delete('/del_user', function (req, res) {
   console.log("Nhan mot DELETE Request ve /del_user");
   res.send('Hello DELETE');
})

// Phuong thuc nay phan hoi mot GET Request ve /list_user page.
app.get('/list_user', function (req, res) {
   console.log("Nhan mot GET Request ve /list_user");
   res.send('Page Listing');
})

// Phuong thuc nay phan hoi mot GET Request ve abcd, abxcd, ab123cd, ...
app.get('/ab*cd', function(req, res) {   
   console.log("Nhan mot GET request ve /ab*cd");
   res.send('Page Pattern Match');
})

var server = app.listen(8081, function () {
   var host = server.address().address
   var port = server.address().port
   
   console.log("Ung dung dang lang nghe tai: http://%s:%s", host, port)
})