モジュールパス
パス モジュールは、ファイルやディレクトリへのパスを処理するユーティリティ関数を提供するコア モジュールです。パスが存在するかどうか、または有効なパスであるかどうかはチェックせず、パスを処理するメソッドを提供するだけです。
path モジュールには多くのメソッドが用意されており、最も一般的に使用されるメソッドは次のとおりです。
- join(): 指定されたパスのフラグメントを結合し、標準のパス形式に処理します。
- solve(): パスまたはパスフラグメントのシーケンスを絶対パスに解決します。
- basename(): パス内のパスの最後の部分を返します。
- dirname(): 指定されたパスのディレクトリ名を返します。
- extname(): パス内のファイルの拡張子を返します。
これらのメソッドのサンプル コードを次に示します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16const path = require('path');
// connect path segments using the platform-specific separator as a delimiter,
console.log(path.join('/usr', 'local', 'bin')); // output: /usr/local/bin
// resolve a sequence of paths or path segments into an absolute path
console.log(path.resolve('/foo/bar', './baz')); // output: /foo/bar/baz
// return the last portion of a path
console.log(path.basename('/foo/bar/baz')); // output: baz
// return the directory name of a path
console.log(path.dirname('/foo/bar/baz')); // output: /foo/bar
// return the extension of the path, from the last '.' to end of string in the last portion of the path
console.log(path.extname('/foo/bar/baz.txt')); // output: .txt
上記のメソッドに加えて、path モジュールは、パスの正規化、パスの区切り文字、パスの形式の処理などを処理するための、normalize()、delimiter、posix、win32 などの他の多くのメソッドも提供します。これらの手法は実際の開発でもよく使われます。
pathモジュールは、ファイルやディレクトリのパスをより便利に加工するためのパス加工に便利なツール機能を多数提供しており、開発には欠かせないツールの一つです。
静的関数
normalize
パスを標準化し、パス内の親ディレクトリとその他の情報を処理します。
1static String path.normalize(String path);
呼び出しパラメータ:
- path: 文字列、指定された未処理のパス
返される結果:
- String、処理されたパスを返します
basename
パス内のファイル名を問い合わせます。拡張子が指定されている場合、拡張子の一致は自動的に解除されます。
1
2static String path.basename(String path,
String ext = "");
呼び出しパラメータ:
- path: 文字列、指定されたクエリのパス
- ext: 拡張子を指定する文字列。ファイル名に修飾された拡張子が含まれている場合、自動的にキャンセルされます。
返される結果:
- String、ファイル名を返します
extname
パス内のファイル拡張子を問い合わせる
1static String path.extname(String path);
呼び出しパラメータ:
- path: 文字列、指定されたクエリのパス
返される結果:
- String、取得した拡張子を返します
format
オブジェクトをパスとしてフォーマットしてみる
1static String path.format(Object pathObject);
呼び出しパラメータ:
- pathObject:オブジェクト、オブジェクト
返される結果:
- String、フォーマットされたパスを返します
pathObject でサポートされるパラメータは次のとおりです。
1
2
3
4
5
6
7{
"root": "/",
"dir": "/a/b",
"base": "c.ext",
"ext": ".ext",
"name": "c"
}
parse
パスをパス オブジェクトに解析する
1static NObject path.parse(String path);
呼び出しパラメータ:
- path:文字列、パス
返される結果:
- NObject、 pathObject オブジェクトを返します
dirname
クエリパス内のディレクトリパス
1static String path.dirname(String path);
呼び出しパラメータ:
- path: 文字列、指定されたクエリのパス
返される結果:
- String、取得したディレクトリへのパスを返します。
fullpath
指定されたパスをフルパスに変換します
1static String path.fullpath(String path);
呼び出しパラメータ:
- path: 文字列、指定された変換へのパス
返される結果:
- String、変換の完全なパスを返します。
isAbsolute
指定されたパスが絶対パスかどうかを識別する
1static Boolean path.isAbsolute(String path);
呼び出しパラメータ:
- path: 指定されたパスを識別する文字列
返される結果:
- Boolean、絶対パスの場合は true を返します。
join
一連のパスを 1 つのパスに結合する
1static String path.join(...ps);
呼び出しパラメータ:
- ps: ...、1 つ以上の関連パス
返される結果:
- String、取得した新しいパスを返します
resolve
一連のパスを絶対パスに結合する
1static String path.resolve(...ps);
呼び出しパラメータ:
- ps: ...、1 つ以上の関連パス
返される結果:
- String、取得した新しいパスを返します
relative
_from から to までの相対パスを検索します。
1
2static String path.relative(String _from,
String to);
呼び出しパラメータ:
- _from: 文字列、ソースパス
- to: 文字列、ターゲットパス
返される結果:
- String、取得した相対パスを返します
toNamespacedPath
名前空間プレフィックス付きのパスに変換します。 Windows でのみ有効で、他のシステムでは直接返されます。
1static Value path.toNamespacedPath(Value path = undefined);
呼び出しパラメータ:
- path: 値、指定されたパス。
返される結果:
- Value、取得した新しいパスを返します
参照: https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces
静的プロパティ
sep
文字列。現在のオペレーティング システムのパス分離文字をクエリします。posix は「/」を返し、Windows は「\」を返します。
1static readonly String path.sep;
delimiter
文字列。現在のオペレーティング システムのマルチパス組み合わせ文字をクエリします。posix は ':' を返し、Windows は ';' を返します。
1static readonly String path.delimiter;
posix
オブジェクト、posix 実装、参照path_posix
1static readonly Object path.posix;
win32
オブジェクト、Windows 実装、を参照してください。path_win32
1static readonly Object path.win32;