【Node.js24.x】Object::realpath()メソッドの使い方
realpathメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
realpathメソッドは、指定されたパスに含まれるシンボリックリンクをすべて解決し、ファイルシステム上に実際に存在するファイルまたはディレクトリの絶対パスを取得するメソッドです。シンボリックリンクとは、別のファイルやディレクトリを指し示す「ショートカット」のようなもので、オペレーティングシステムにおいて、特定のファイルを別の場所に配置しながらも、あたかも別の場所にあるかのように参照できるようにする機能です。
このメソッドは、与えられたパスが一つ以上のシンボリックリンクを含んでいる場合でも、それらを順にたどり、最終的に実体のあるファイルまたはディレクトリの完全なパスを特定します。これにより、開発者はファイルやディレクトリの物理的な場所を正確に把握し、その後のファイル操作を確実に行うことができます。例えば、アプリケーションが設定ファイルやリソースファイルを読み込む際に、それらがシンボリックリンクを経由して参照されている場合でも、realpathメソッドを使うことで、間違いなく実際のファイルを見つけ出すことが可能です。
Node.jsのファイルシステムモジュール(fsモジュール)の一部として提供されており、非同期で動作するため、ファイルシステムの操作中にプログラムの実行がブロックされることなく、高いパフォーマンスを維持できます。システムエンジニアを目指す上で、ファイルシステムの構造やリンクの仕組みを理解し、realpathのようなツールを使って正確なパスを解決する能力は、堅牢なファイル操作ロジックを構築するために非常に重要です。
構文(syntax)
1import { realpath } from 'node:fs/promises'; 2 3realpath('./') 4 .then(resolvedPath => { 5 console.log(resolvedPath); 6 }) 7 .catch(error => { 8 console.error(error); 9 });
引数(parameters)
p, options, callback
- p: string: ファイルシステム上のパスを指定する文字列。シンボリックリンクを辿って、正規化された絶対パスを返します。
- options: object: オプションを指定するオブジェクト。
- encoding: string: ファイルパスのエンコーディングを指定します。デフォルトは 'utf8' です。
- withFileTypes: boolean: true に設定すると、
fs.Direntオブジェクトの配列を返します。デフォルトは false です。
- callback: function: 処理が完了したときに呼び出されるコールバック関数。
- err: Error | null: エラーが発生した場合はエラーオブジェクト、成功した場合は null。
- resolvedPath: string: 正規化された絶対パス。
戻り値(return)
戻り値なし
戻り値はありません