Phần 9: Express

 

Các bài viết trước:

Phần 6: NPM

Phần 7: Events

Phần 8: Upload file

 

 

Express là gì?

Express là một framework của Node.js, nó cung cấp nhiều tính năng mạnh mẽ trên nền tảng web cũng như ứng dụng di động.

 

 

Cài đặt Express

Cú pháp cài đặt Express như sau:

npm install express --save

 

Ví dụ:

var express = require('express'); //Gọi module Express

var app = express(); //Tạo một biến "app" là express

//Tạo một server ở port 8888 mà lấy từ biến "app"
var http = require('http').createServer(app);
http.listen(8888);

//Bắt sự kiện khi gọi đến server
app.get("/", function(req, res) {
    res.send("<h1 style = 'color:blue'>Hello Express</h1>");
});

app.get("/view", function(req, res) {
    res.send("<h2 style = 'color:red'>I'm Express</h2>");
});

 

Kết quả hiển thị trên brower:

 

 

Route

Route là một thành phần cực kỳ quan trọng của một website, nó giúp website biết được người dùng truy cập đến nơi nào của trang web, từ đó phản hồi lại một cách thích hợp. Để sử dụng các phương thức của route ta chỉ cần khai báo như sau:
 

//Respond tại trang chủ
app.get('/', function (req, res) {});

//Xác nhận request POST tại trang chủ
app.post('/', function (req, res) {});

//Xác nhận request PUT tại /user
app.put('/user', function (req, res) {});

//Xác nhận request DELETE tại /user
app.delete('/user', function (req, res) {});

 

Ta có thể viết gọn hơn như sau:
 

app.route('/user')  
    .get(function (req, res) {})
    .post(function (req, res) {})
    .put(function (req, res) {})
    .delete(function (req, res) {});

 

Thông thường, chúng ta sẽ tách những đoạn code route ra những file riêng để dễ quản lí. Ví dụ, tôi có một file route.js như sau:

module.exports = function(app) {
    app.route('/')
        .get(function(rep, res) {
            res.send("<h1>Hello. I'm Route!!!!!</h1>");
        });
}

 

Khi đó, file app.js của tôi sẽ là:

var express = require('express'); //Gọi module Express

var app = express(); //Tạo một biến "app" là express

var route = require('./route.js'); //Gọi đến module trong file route.js
route(app);

//Tạo một server ở port 8888 mà lấy từ biến "app"
var http = require('http').createServer(app);
http.listen(8888);

 

Kết quả trên browser như sau: