【Node.js24.x】Object::mkdirSync()メソッドの使い方
mkdirSyncメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
mkdirSyncメソッドは、指定されたパスに新しいディレクトリ(フォルダ)を同期的に作成するメソッドです。このメソッドは、Node.jsのファイルシステム操作の一部として提供されており、プログラムの実行中に動的にディレクトリを作成する必要がある場面で利用されます。
引数として、まずpathに作成したいディレクトリの場所と名前を文字列で指定します。例えば、'./data'と指定すれば、現在のディレクトリにdataという名前の新しいディレクトリが作成されます。
また、オプションオブジェクトを2番目の引数として渡すことができます。特に重要なオプションとしてrecursiveがあります。recursiveをtrueに設定すると、指定されたパスの途中に存在する親ディレクトリが存在しない場合でも、それらをまとめて作成してくれます。例えば、'./a/b/c'というパスでrecursive: trueを指定すると、aもa/bも存在しなくても一挙に作成されます。modeオプションでは、作成されるディレクトリのパーミッション(アクセス権)を指定することも可能です。
このメソッドは、ディレクトリの作成が成功した場合は通常undefinedを返しますが、recursive: trueオプションを使用し、かつ作成された最初のディレクトリが存在した場合はそのパスを文字列で返すことがあります。
同期処理であるため、メソッドの実行が完了するまでNode.jsのJavaScript実行は一時停止します。そのため、もしディレクトリの作成中にエラーが発生した場合(例えば、すでに同じ名前のディレクトリが存在する場合や、パスが無効な場合、書き込み権限がない場合など)、即座に例外がスローされます。このため、安定したアプリケーションを構築するには、try...catchブロックを使用して例外を適切に処理することが推奨されます。
mkdirSyncは、アプリケーションの起動時にログ保存用ディレクトリや一時ファイルを置くディレクトリを準備するなど、比較的小規模で一度きりのディレクトリ作成処理に適しています。大量のディレクトリを頻繁に作成するような用途では、メインスレッドのブロックを避けるために、非同期版のfs.mkdirの使用も検討すると良いでしょう。
構文(syntax)
const fs = require('node:fs');
fs.mkdirSync('directoryName');
引数(parameters)
path, options
- path: string: 作成するディレクトリのパス
- options: object: オプション設定オブジェクト (省略可能)
戻り値(return)
戻り値なし
戻り値はありません