ディレクトリが存在するかどうかの確認

JavaScript:
ディレクトリが存在するかどうかの確認

方法:

JavaScript自体はファイルシステムに直接アクセスする機能がないため、Node.jsでは典型的にfsモジュールがこのような操作に使用されます。以下はfs.existsSync()を使用してディレクトリが存在するかどうかを確認する簡単な方法です:

const fs = require('fs');

const directoryPath = './sample-directory';

// ディレクトリが存在するか確認
if (fs.existsSync(directoryPath)) {
  console.log('ディレクトリは存在します。');
} else {
  console.log('ディレクトリは存在しません。');
}

サンプル出力:

ディレクトリは存在します。

または、ブロッキングされない非同期アプローチには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));

サンプル出力:

ディレクトリは存在します。

このアプローチにより、モダンなJavaScriptプラクティスとシームレスに統合される、クリーンで読みやすいコードを実現できます。