Module URL dựng sẵn
Module URL chia 01 địa chỉ web thành các phần nhỏ hơn có thể
đọc được.
Để đính kèm module URL, ta dùng phương thức require()
var url = require('url');
Ta đưa 01 địa chỉ vào bằng phương thức url.parse() , và nó sẽ
trả về 01 đối tượng URL với các phần của
địa chỉ như là các thuộc tính.
Ví dụ: chia các phần địa chỉ web ra
var url = require('url');
var adr = 'http://localhost:8080/default.htm?year=2017&month=february';
var q = url.parse(adr, true);
console.log(q.host); //trả về 'localhost:8080'
console.log(q.pathname); //trả về '/default.htm'
console.log(q.search); //trả về '?year=2017&month=february'
var qdata = q.query; //trả về 01 đối tượng: { year: 2017, month: 'february' }
console.log(qdata.month); //trả về 'february'
var adr = 'http://localhost:8080/default.htm?year=2017&month=february';
var q = url.parse(adr, true);
console.log(q.host); //trả về 'localhost:8080'
console.log(q.pathname); //trả về '/default.htm'
console.log(q.search); //trả về '?year=2017&month=february'
var qdata = q.query; //trả về 01 đối tượng: { year: 2017, month: 'february' }
console.log(qdata.month); //trả về 'february'
Máy chủ tập tin NODEJS
Bây giờ chúng ta biết cách đưa chuỗi truy vấn vào, và trong
chương trước chúng ta đã đã học cách làm cho NODEJS cư xử như là 01 máy chủ tập
tin.
Bây giờ chúng ta sẽ nhập 02 tập tin lại và trả về nội dung
người dùng đã yêu cầu.
Tạo 02 tập tin html và lưu chúng cùng thư mục với các tập
tin NODEJS.
Summer.html
<!DOCTYPE html>
<html>
<body>
<h1>Summer</h1>
<p>I love the sun!</p>
</body>
</html>
<html>
<body>
<h1>Summer</h1>
<p>I love the sun!</p>
</body>
</html>
Winter.html
<!DOCTYPE html>
<html>
<body>
<h1>Winter</h1>
<p>I love the snow!</p>
</body>
</html>
<html>
<body>
<h1>Winter</h1>
<p>I love the snow!</p>
</body>
</html>
Tạo 01 tập tin NODEJS mở tập tin đã được yêu cầu và trả về nội
dung cho người dùng. Nếu có lỗi gì sẽ trả về lỗi 404
Demo_fileserver.js
var http = require('http');
var url = require('url');
var fs = require('fs');
http.createServer(function (req, res) {
var q = url.parse(req.url, true);
var filename = "." + q.pathname;
fs.readFile(filename, function(err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
var url = require('url');
var fs = require('fs');
http.createServer(function (req, res) {
var q = url.parse(req.url, true);
var filename = "." + q.pathname;
fs.readFile(filename, function(err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
Nhớ khởi chạy nó trên CMD:
D:/NODE/node demo_fileserver.js
Nếu làm đúng theo hướng dẫn, bạn sẽ thấy 02 kết quả khác
nhau khi gõ 02 đường dẫn sau trên trình duyệt:
http://localhost:8080/summer.html
Kết quả trả ra là:
Summer
I love the sun!
Kết quả trả ra là:
Winter
I love the snow!
Nếu vẫn chưa rõ các bạn xem thêm video clip sau:
Các bạn hãy bấm nút LIKE và SHARE để mình có động lực viết thêm nhiều nhiều bài viết nữa.
By #drM
Không có nhận xét nào:
Đăng nhận xét