現在いるディレクトリ(カレント)を起点として目的のファイルまでの経路を示す指定方法。
相対パスとは、いま自分がいるディレクトリ(カレント=現在地)を起点にして、目的のファイルまでの道のりを書く指定方法です。パス(path)とは「ファイルまでの道順」のことです。
身近な例で考えると、道を聞かれたときに「ここから2軒となりの角を曲がって…」と今いる場所を基準に説明するのと同じです。住所をフルで書く必要がなく、近い場所ほど短く書けるのが特徴です。
上のツールで▶ボタンを押すと、現在地 src を起点に「../」で親へ上がり、images へ下りて目的ファイルへ到達する経路が1ステップずつ組み立てられていく流れを確認できます。
相対パスでは、2つの特別な記号を組み合わせて道順を表します。
・「.」(ドット1つ):今いる現在地そのもの。「./file」は現在地の中にある file を表します
・「..」(ドット2つ):1つ上の親。「../」で1段上がります
・「../../dir」:「..」を重ねると2つ上まで上がってから dir へ下りられます
./memo.txt → 現在地の memo.txt
../images/a.png → 1つ上の images の a.png
../../lib/x.js → 2つ上の lib の x.js
上がるときは「..」、下りるときはディレクトリ名を書く、と覚えると分かりやすいです。上のツールで「../」が親へ、ディレクトリ名が下りる動きに対応しているのを確認できます。
パスの書き方にはもう1つ絶対パスがあります。絶対パスはファイルシステムの一番上「/」(ルート)を起点に、フルの道順を書く方法です。同じファイルでも、起点が違えば書き方が変わります。
# 現在地が /project/src のとき
相対:../images/logo.png
絶対:/project/images/logo.png
| 項目 | 相対パス | 絶対パス |
|---|---|---|
| 起点 | カレント(現在地) | ルート「/」 |
| 長さ | 近い場所は短い | 常にフルで長い |
| 移動・配置換え | 位置関係が同じなら強い | どこから実行しても確実 |
使い分けの目安は、相対パスは近い場所を短く書きたいとき・フォルダごと移動しても壊れにくくしたいとき、絶対パスはどこから実行しても確実に同じファイルを指したいときです。相対パスは現在地が変わると指す先も変わる点に注意してください。