Kết nối

[Node.js] Phần 6: Module URL trong Node.js

5.034 lượt xem 
 Cập nhật lần cuối: 15/07/2017 lúc 16:24:31
Thể loại: Node.js, Thiết kế Web 

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.htmlhttp://localhost:8080/dammio2.html để thấy nội dung 2 tập tin này.

Liên quan:  [Node.js] Phần 5: Module File System trong Node.js

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

Trích dẫn bài viết
  • 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-07-25}
    }
Theo dõi
Thông báo của
guest
2 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
2
0
Rất thích suy nghĩ của bạn, hãy bình luận.x