Rate this post

Module đường dẫn Node.js được sử dụng để xử lý và chuyển đổi đường dẫn tệp. Mô-đun này có thể được nhập bằng cách sử dụng cú pháp sau:

Các bài viết liên quan:

Cú pháp:

var path =  require ("path")  

Cơ bản về Path

Trong lập trình và hệ điều hành, path (đường dẫn) là một chuỗi các thư mục và tên tệp tin để xác định vị trí của một tệp tin hoặc thư mục trong hệ thống tệp tin.

Một path có thể được biểu diễn theo hai loại: đường dẫn tuyệt đối và đường dẫn tương đối.

  1. Đường dẫn tuyệt đối: Đường dẫn tuyệt đối xác định một vị trí cụ thể từ gốc của hệ thống tệp tin. Nó bắt đầu từ thư mục gốc và liệt kê tất cả các thư mục con theo đường dẫn để đến đích mong muốn. Ví dụ: “/usr/local/bin/file.txt” là một đường dẫn tuyệt đối.
  2. Đường dẫn tương đối: Đường dẫn tương đối xác định một vị trí liên quan đến thư mục hiện tại hoặc một thư mục tham chiếu khác. Nó không bắt đầu từ gốc mà dựa vào vị trí hiện tại của tệp tin hoặc thư mục. Ví dụ: “folder/file.txt” là một đường dẫn tương đối, trong đó “folder” là một thư mục nằm trong thư mục hiện tại.

Path trong lập trình cung cấp các phương thức và công cụ để xử lý và thao tác với các đường dẫn. Các thao tác thông thường bao gồm:

  • Nối đường dẫn (Path concatenation): Kết hợp các thành phần của đường dẫn để tạo ra một đường dẫn hoàn chỉnh.
  • Trích xuất tên tệp tin (File name extraction): Lấy tên tệp tin từ một đường dẫn đã cho.
  • Trích xuất tên thư mục (Directory name extraction): Lấy tên thư mục từ một đường dẫn đã cho.
  • Thay thế phần mở rộng (Extension replacement): Thay thế phần mở rộng của tệp tin trong đường dẫn.

Việc hiểu và sử dụng Path một cách chính xác là rất quan trọng trong việc làm việc với tệp tin và thư mục trong lập trình, đặc biệt trong các ứng dụng liên quan đến quản lý và xử lý dữ liệu.

Xem thêm Tìm hiểu về tấn công Full Path Disclosure

Xử lý đường dẫn

Xử lý đường dẫn là quá trình làm việc với các đường dẫn tệp tin và thư mục để thực hiện các thao tác như nối đường dẫn, trích xuất thông tin, kiểm tra tính hợp lệ và thay đổi đường dẫn.

Trong Node.js, bạn có thể sử dụng module path để thực hiện các thao tác xử lý đường dẫn. Đầu tiên, bạn cần import module path vào mã của mình bằng cách sử dụng lệnh require như sau:

const path = require('path');

Dưới đây là một số phương thức phổ biến trong module path và cách sử dụng chúng:

  1. Nối đường dẫn (Path concatenation):
const fullPath = path.join('/root', 'dir', 'file.txt'); 
console.log(fullPath); // /root/dir/file.txt 

Phương thức path.join() kết hợp các thành phần đường dẫn lại với nhau để tạo ra một đường dẫn hoàn chỉnh.

  1. Trích xuất tên tệp tin (File name extraction):
const filename = path.basename('/root/dir/file.txt'); 
console.log(filename); // file.txt 

Phương thức path.basename() trích xuất tên tệp tin từ một đường dẫn.

  1. Trích xuất tên thư mục (Directory name extraction):
javascriptCopy codeconst dirname = path.dirname('/root/dir/file.txt');
console.log(dirname); // /root/dir 

Phương thức path.dirname() trích xuất tên thư mục từ một đường dẫn.

  1. Thay thế phần mở rộng (Extension replacement):
const newFilePath = path.format({ dir: '/root/dir', name: 'file', ext: '.json' }); console.log(newFilePath); // /root/dir/file.json 

Phương thức path.format() tạo ra một đường dẫn mới từ các thành phần như đường dẫn thư mục, tên tệp tin và phần mở rộng.

  1. Kiểm tra tính hợp lệ của đường dẫn:
const isValid = path.isAbsolute('/root/dir/file.txt'); 
console.log(isValid); // true 

Phương thức path.isAbsolute() kiểm tra xem một đường dẫn có phải là đường dẫn tuyệt đối hay không.

Đây chỉ là một số phương thức cơ bản trong module path của Node.js. Module path cung cấp nhiều phương thức khác để thực hiện các thao tác xử lý đường dẫn phức tạp hơn.

Xem thêm Module DNS Node.js

Áp dụng Path trong Node.js

Trong Node.js, module path cung cấp các công cụ để xử lý đường dẫn và thực hiện các thao tác liên quan đến đường dẫn. Dưới đây là một số ví dụ về cách áp dụng module path trong Node.js:

  1. Xử lý đường dẫn tệp tin:
const path = require('path');

const filePath = '/root/documents/file.txt';

// Trích xuất tên tệp tin
const fileName = path.basename(filePath);
console.log(fileName); // file.txt

// Trích xuất phần mở rộng
const fileExt = path.extname(filePath);
console.log(fileExt); // .txt

// Trích xuất tên thư mục
const directory = path.dirname(filePath);
console.log(directory); // /root/documents
  1. Xử lý đường dẫn thư mục:
const path = require('path');

const folderPath = '/root/documents/folder/';

// Nối đường dẫn
const newPath = path.join(folderPath, 'subfolder', 'file.txt');
console.log(newPath); // /root/documents/folder/subfolder/file.txt

// Kiểm tra tính hợp lệ của đường dẫn tuyệt đối
const isAbsolute = path.isAbsolute(folderPath);
console.log(isAbsolute); // true
  1. Xử lý đường dẫn động:
const path = require('path');

const basePath = '/root/documents/';
const dynamicFileName = 'file.txt';

// Nối đường dẫn động
const dynamicPath = path.join(basePath, dynamicFileName);
console.log(dynamicPath); // /root/documents/file.txt
  1. Xử lý đường dẫn dựa trên môi trường:
const path = require('path');

const basePath = '/root/documents/';
const fileName = process.env.FILE_NAME;

// Tạo đường dẫn dựa trên môi trường
const dynamicPath = path.join(basePath, fileName);
console.log(dynamicPath); // /root/documents/customfile.txt

Module path trong Node.js cung cấp nhiều phương thức khác nhau để xử lý đường dẫn và thực hiện các thao tác phổ biến. Bằng cách sử dụng các phương thức này, bạn có thể linh hoạt xử lý và làm việc với đường dẫn trong ứng dụng Node.js của mình.

Xem thêm Module web trong Node.js

Node.js Path Methods

Hãy xem danh sách các phương thức được sử dụng trong mô-đun đường dẫn:

STTMethodDescription
1.path.normalize(p)Nó được sử dụng để chuẩn hóa một đường dẫn chuỗi, quan tâm đến ‘..’ và ‘.’ các bộ phận.
2.path.join([path1][, path2][, …])Nó được sử dụng để nối tất cả các đối số lại với nhau và chuẩn hóa đường dẫn kết quả.
3.path.resolve([from …], to)Nó được sử dụng để giải quyết một đường dẫn tuyệt đối.
4.path.isabsolute(path)Nó xác định xem đường dẫn có phải là đường dẫn tuyệt đối hay không. một đường dẫn tuyệt đối sẽ luôn phân giải đến cùng một vị trí, bất kể thư mục đang làm việc.
5.path.relative(from, to)Nó được sử dụng để giải quyết đường dẫn tương đối từ “from” đến “to”.
6.path.dirname(p)Nó trả về tên thư mục của một đường dẫn. Nó tương tự như lệnh unix dirname
7.path.basename(p[, ext])Nó trả về phần cuối cùng của đường dẫn. Nó tương tự như lệnh Unix basename.
8.path.extname(p)Nó trả về phần mở rộng của đường dẫn, từ dấu ‘.’ đến cuối chuỗi trong phần cuối cùng của đường dẫn. nếu không có ‘.’ trong phần cuối cùng của đường dẫn hoặc ký tự đầu tiên của nó là ‘.’, thì nó trả về một chuỗi trống.
9.path.parse(pathstring)Nó trả về một đối tượng từ một chuỗi đường dẫn.
10.path.format(pathobject)Nó trả về một chuỗi đường dẫn từ một đối tượng, ngược lại với path.parse ở trên.

Ví dụ Node.js Path

File: path_example.js

var path = require("path");  
// Normalization  
console.log('normalization : ' + path.normalize('/sssit/javatpoint//node/newfolder/tab/..'));  
// Join  
console.log('joint path : ' + path.join('/sssit', 'javatpoint', 'node/newfolder', 'tab', '..'));  
// Resolve  
console.log('resolve : ' + path.resolve('path_example.js'));  
// Extension   
console.log('ext name: ' + path.extname('path_example.js'));    

Mở dấu nhắc lệnh Node.js và chạy path_example.js:

node path_example.js  

Xem thêm Đường dẫn tuyệt đối và tương đối trong HTML

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now