Node.js: Module url trong Node.js


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Mô-đun URL chia một địa chỉ web thành các phần có thể đọc được.

Để tích hợp mô-đun URL ta sử dụng phương thức require():

var url = require('url');

Phương thức url.parse() sẽ phân tích cú pháp một địa chỉ url và nó sẽ trả về một đối tượng URL với mỗi phần của địa chỉ là các thuộc tính:

var url = require('url');
var adr = 'http://localhost:8080/default.htm?year=2021&month=february';
var q = url.parse(adr, true);

console.log(q.host); //returns 'localhost:8080'
console.log(q.pathname); //trả về '/default.htm'
console.log(q.search); //trả về '?year=2021&month=february'

var qdata = q.query; //trả về một đối tượng: { year: 2021, month: 'february' }
console.log(qdata.month); //trả về 'february'

Máy chủ tệp Node.js

Bây giờ ta đã biết cách phân tích cú pháp chuỗi truy vấn và trong bài học trước thì ta cũng đã học cách làm cho Node.js hoạt động như một máy chủ tệp. Bây giờ ta sẽ kết hợp cả hai và phục vụ tệp do khách hàng yêu cầu.

Tạo hai tệp html và lưu chúng trong cùng một thư mục với tệp node.js như sau:

File summer.html:

<!DOCTYPE html>
<html>
<body>
<h1>Summer</h1>
<p>I love the sun!</p>
</body>
</html>

File winter.html:

<!DOCTYPE html>
<html>
<body>
<h1>Winter</h1>
<p>I love the snow!</p>
</body>
</html>

Tạo tệp Node.js để mở tệp được yêu cầu và trả lại nội dung cho máy khách. Ta sẽ đặt lỗi 404 nếu gặp vấn đề:

File 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);

Tiến hành khởi tạo tệp:

C:\Users\Your Name>node demo_fileserver.js

Sau đó thực thi file summer.html: http://localhost:8080/summer.html

Thực thi file winter.html: http://localhost:8080/winter.html

» Tiếp: NPM trong Node.js
« Trước: Module fs (File System)
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!