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 ในปัจจุบัน.