JavaScript:
디렉토리가 존재하는지 확인하기
방법:
Node.js에서는 자바스크립트 자체가 파일 시스템에 직접 접근할 수 없기 때문에, 이러한 작업을 위해 fs
모듈이 일반적으로 사용됩니다. 여기 fs.existsSync()
를 사용해 디렉터리가 존재하는지 확인하는 간단한 방법이 있습니다:
const fs = require('fs');
const directoryPath = './sample-directory';
// 디렉터리가 존재하는지 확인
if (fs.existsSync(directoryPath)) {
console.log('디렉터리가 존재합니다.');
} else {
console.log('디렉터리가 존재하지 않습니다.');
}
샘플 출력:
디렉터리가 존재합니다.
또는 비차단(non-blocking) 비동기적 접근 방법으로, fs.promises
와 async/await
를 사용하십시오:
const fs = require('fs').promises;
async function checkDirectory(directoryPath) {
try {
await fs.access(directoryPath);
console.log('디렉터리가 존재합니다.');
} catch (error) {
console.log('디렉터리가 존재하지 않습니다.');
}
}
checkDirectory('./sample-directory');
샘플 출력:
디렉터리가 존재합니다.
파일 및 디렉터리 작업을 많이 사용하는 프로젝트의 경우, 기본 fs
모듈의 확장인 fs-extra
패키지가 편리한 추가 메소드를 제공합니다. 다음은 fs-extra
를 사용해 동일한 작업을 수행하는 방법입니다:
const fs = require('fs-extra');
const directoryPath = './sample-directory';
// 디렉터리가 존재하는지 확인
fs.pathExists(directoryPath)
.then(exists => console.log(exists ? '디렉터리가 존재합니다.' : '디렉터리가 존재하지 않습니다.'))
.catch(err => console.error(err));
샘플 출력:
디렉터리가 존재합니다.
이 방법은 현대적 자바스크립트 관행과 원활하게 통합되면서 깔끔하고 읽기 쉬운 코드를 가능하게 합니다.