【Node.js24.x】Object::fileURLToPath()メソッドの使い方
fileURLToPathメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
fileURLToPathメソッドは、ファイルURL形式の文字列を、実行中のオペレーティングシステムが認識する通常のファイルパス文字列に変換するメソッドです。具体的には、file:スキームで始まるUniform Resource Locator (URL) を受け取り、それをファイルシステムが直接扱えるパス形式に変換します。例えば、LinuxやmacOSではfile:///home/user/document.txtのようなURLが/home/user/document.txtに、Windowsではfile:///C:/Users/user/document.txtのようなURLがC:\Users\user\document.txtといった形式に変換されます。
このメソッドは、特にESモジュール環境においてimport.meta.urlプロパティから得られるURL(これは常にfile:スキームを持つURLです)を、Node.jsのfsモジュールなどのファイルシステム操作関数で使用したい場合に非常に有用です。URLエンコードされた文字(例えば、スペースを表す%20など)は、パスに変換される際に自動的に適切な文字にデコードされます。ただし、入力された文字列が有効なfile: URL形式でない場合や、システムがサポートしていない形式の場合にはエラーを発生させる可能性がありますので、利用する際は正しいURL形式を渡すように注意が必要です。この機能により、Web標準のURL表現とローカルファイルシステムパスとの間の相互運用性が向上し、クロスプラットフォームなファイル処理の実装が容易になります。
構文(syntax)
1import { fileURLToPath } from 'node:url'; 2 3const fileUrl = new URL('file:///path/to/your/resource.txt'); 4const filePath = fileURLToPath(fileUrl); 5console.log(filePath);
引数(parameters)
url
- url: URLオブジェクトまたはURL文字列: ファイルパスに変換したいURL
戻り値(return)
string
fileURLToPathメソッドは、file: プロトコルで始まるURL文字列を、オペレーティングシステムで解釈可能なファイルパス文字列に変換したものを返します。