디렉토리가 존재하는지 확인하기

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.promisesasync/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));

샘플 출력:

디렉터리가 존재합니다.

이 방법은 현대적 자바스크립트 관행과 원활하게 통합되면서 깔끔하고 읽기 쉬운 코드를 가능하게 합니다.