【Node.js24.x】Object::mkdtemp()メソッドの使い方
mkdtempメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
mkdtempメソッドは、ファイルシステム上にユニークな一時ディレクトリを作成するメソッドです。これは、プログラムの実行中に一時的な作業領域としてディレクトリが必要な場面で利用されます。例えば、ファイルのアップロード処理における一時保存場所や、テストコードでの一時的なデータ作成などに適しています。
このメソッドは、指定したプレフィックス(接頭辞)を用いて、予測困難で重複しないディレクトリ名を生成します。これにより、既存のファイルやディレクトリとの名前衝突を防ぎ、セキュリティ面でも配慮されています。Node.jsの標準モジュールであるfsモジュールの一部として提供されており、非同期で動作するバージョン(Promiseベースやコールバックベース)と同期で動作するバージョンがあります。通常、パフォーマンスやアプリケーションの応答性を考慮し、非同期版の使用が推奨されます。
ただし、mkdtempメソッドで作成されたディレクトリは、プログラムが終了しても自動的に削除されません。そのため、不要になった際には、開発者自身が明示的にディレクトリを削除する処理を実装する必要があります。これは、リソースの無駄遣いやディスク容量の圧迫を防ぐために重要な点です。
構文(syntax)
import { mkdtemp } from 'node:fs/promises';
const temporaryDirectoryPath = await mkdtemp('my-temp-prefix-');
引数(parameters)
prefix, options, callback
- prefix: string: 作成される一時ディレクトリ名の先頭に付与する文字列。
- options: object | undefined: オプションを指定するオブジェクト。
encoding(string, デフォルトは 'utf8') やmode(number, デフォルトは 0o700) などを指定できます。 - callback: function | undefined: 関数が終了したときに呼び出されるコールバック関数。エラーが発生した場合は
err(Error) を、成功した場合は作成されたディレクトリのパス (string) を受け取ります。
戻り値(return)
Promise<string>
指定されたテンプレートディレクトリ内に一時的なディレクトリを作成し、そのパスを文字列で返します。