ตรวจสอบว่ามีไดเร็กทอรีหรือไม่

JavaScript:
ตรวจสอบว่ามีไดเร็กทอรีหรือไม่

วิธีทำ:

ใน Node.js เนื่องจาก JavaScript ไม่สามารถเข้าถึงระบบไฟล์โดยตรง โมดูล fs จึงโดยปกติใช้สำหรับการดำเนินการเช่นนี้ นี่คือวิธีง่ายๆในการตรวจสอบว่ามี directory อยู่โดยใช้ไฟล์ fs.existsSync():

const fs = require('fs');

const directoryPath = './sample-directory';

// ตรวจสอบว่ามี directory อยู่ไหม
if (fs.existsSync(directoryPath)) {
  console.log('Directory มีอยู่.');
} else {
  console.log('Directory ไม่มีอยู่.');
}

ผลลัพธ์ตัวอย่าง:

Directory มีอยู่.

หรือสำหรับวิธีไม่บล็อกแบบแอสซิงโครนัส ใช้ fs.promises ด้วย async/await:

const fs = require('fs').promises;

async function checkDirectory(directoryPath) {
  try {
    await fs.access(directoryPath);
    console.log('Directory มีอยู่.');
  } catch (error) {
    console.log('Directory ไม่มีอยู่.');
  }
}

checkDirectory('./sample-directory');

ผลลัพธ์ตัวอย่าง:

Directory มีอยู่.

สำหรับโปรเจคที่ใช้งานไฟล์และ directory อย่างหนัก แพ็คเกจ fs-extra , ซึ่งเป็นการขยายจากโมดูล fs ดั้งเดิม, นำเสนอวิธีการเพิ่มเติมที่สะดวก นี่คือวิธีทำเช่นเดียวกันด้วย fs-extra:

const fs = require('fs-extra');

const directoryPath = './sample-directory';

// ตรวจสอบว่ามี directory อยู่ไหม
fs.pathExists(directoryPath)
  .then(exists => console.log(exists ? 'Directory มีอยู่.' : 'Directory ไม่มีอยู่.'))
  .catch(err => console.error(err));

ผลลัพธ์ตัวอย่าง:

Directory มีอยู่.

วิธีการนี้ช่วยให้โค้ดที่สะอาด อ่านง่าย และสามารถผสานรวมได้เป็นอย่างดีกับการปฏิบัติตามมาตรฐานของ JavaScript ในปัจจุบัน.