Như trong bài trước, module URL dùng để tách địa chỉ web thành các phần đọc được. Để nhúng module URL ứng dụng, bạn chỉ cần dùng phương thức require().
var url = require('url');
Phương thức url.parse() dùng để phân tích địa chỉ URL và trả về 1 đối tượng URL với các phần địa chỉ dưới dạng các thuộc tính. Ví dụ sau tách 1 địa chỉ web thành các phần có thể đọc được.
var url = require('url'); var adr = 'http://localhost:8080/dammio.htm?year=2020&month=may'; var q = url.parse(adr, true); console.log(q.host); //trả về 'localhost:8080' console.log(q.pathname); //returns '/dammio.htm' console.log(q.search); //trả về '?year=2020&month=may' var qdata = q.query; //trả về 1 đối tượng: { year: 2012, month: 'may' } console.log(qdata.month); //trả về 'may'
Server tập tin Node.js
Đến đây, bạn đã biết cách phân tích chuỗi truy vấn và ở bài trước, bạn đã học cách Node.js tương tác với 1 file server. Ví dụ sau thử kết hợp 2 cách, và nhận các tập tin theo yêu cầu từ máy khách. Tạo 2 tập tin HTML và lưu cùng thư mục với các tập tin Node.js.
Nội dung tập tin dammio1.html
<!DOCTYPE html> <html> <body> <h1>Dammio1</h1> <p>Hello Dammio1!</p> </body> </html>
Nội dung tập tin dammio2.html
<!DOCTYPE html> <html> <body> <h1>Dammio2</h1> <p>Hello Dammio2!</p> </body> </html>
Tạo 1 tập tin Node.js cho phép mở tập tin theo yêu cầu và trả nội dung về máy khách. Nếu bị lỗi thì trả về lỗi 404.
Nội dung tập tin dammio_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);
Tương tự như các bài trước để chạy đoạn mã trên, chúng ta cũng phải dùng lệnh CMD.
C:\Users\Your Name>node dammio_fileserver.js
Tiếp theo, bạn mở trình duyệt và chạy địa chỉ http://localhost:8080/dammio1.html và http://localhost:8080/dammio2.html để thấy nội dung 2 tập tin này.
Kết luận: Bài viết đã trình bày cho bạn về Module URL trong Node.js, mời bạn tiếp tục bài học tiếp theo để hiểu rõ hơn về Node.JS
- APA:
Dammio. (2017). [Node.js] Phần 6: Module URL trong Node.js. https://www.dammio.com/2017/07/09/node-js-phan-6-module-url-trong-node-js.
- BibTeX:
@misc{dammio,
author = {Dammio},
title = {[Node.js] Phần 6: Module URL trong Node.js},
year = {2017},
url = {https://www.dammio.com/2017/07/09/node-js-phan-6-module-url-trong-node-js},
urldate = {2024-09-08}
}