Kiểm tra xem thư mục có tồn tại không

TypeScript:
Kiểm tra xem thư mục có tồn tại không

Cách thực hiện:

Trong TypeScript, bạn thường sử dụng module fs của Node.js để kiểm tra một thư mục. Đây là cách nhanh để làm điều đó:

import { existsSync } from 'fs';

// Kiểm tra xem một thư mục có tồn tại không
const directoryPath = './path/to/directory';

if (existsSync(directoryPath)) {
  console.log(`Vâng, nó ở đây!`);
} else {
  console.log(`Không, nó không tồn tại.`);
}

Kết quả phụ thuộc vào việc thư mục có tồn tại hay không:

Vâng, nó ở đây!
// hoặc
Không, nó không tồn tại.

Sâu hơn nữa

Trước đây, mọi người sử dụng fs.exists không đồng bộ, nhưng nó đã bị loại bỏ vì có thói quen gây ra các lỗi lập trình, như tình trạng đua check-then-act. existsSync đơn giản hơn và loại bỏ hẳn vấn đề về callback.

Về các phương án thay thế, các phương thức fs.statSync hoặc fs.accessSync cũng có thể đảm nhận công việc này nhưng yêu cầu một chút mã code nhiều hơn:

import { statSync } from 'fs';

try {
  const stats = statSync(directoryPath);
  if (stats.isDirectory()) {
    console.log('Quả thực nó tồn tại.');
  }
} catch (error) {
  if (error.code === 'ENOENT') {
    console.log('Không, không tìm thấy nó đâu.');
  }
}

Cả statSyncaccessSync đều sẽ ném ra lỗi nếu đường dẫn không tồn tại, do đó bạn cần phải xử lý điều đó.

Khi sử dụng TypeScript, nhớ rằng những phương thức này đến từ Node.js, không phải là TypeScript. Và vai trò của TypeScript? Chủ yếu, nó chỉ cung cấp các kiểu dữ liệu và đảm bảo bạn sử dụng các phương thức một cách chính xác.

Xem thêm