01 / 05
ファイルを分ける・借りてくる
INPUT · スライド
ファイルの場所を指し示す
02 / 05
フォルダに入れると道順が変わる
ファイルが増えてくると、種類ごとにフォルダへまとめたくなる。lib というフォルダを作って tools.js をそこへ入れたとしよう。
そうすると main.js から見た道順は ./lib/tools.js になる。フォルダ名を1つはさむだけだね。
// main.jsimport { tasu } from './lib/tools.js';console.log(tasu(2, 5));実行結果
7
03 / 05
../ は「1つ上のフォルダ」
今度は逆向き。lib/tools.js から、いちばん外にある rate.js を読み込みたいとする。
このときは '../rate.js' と書く。../ が「1つ上に戻る」という意味だよ。2つ上に戻りたいなら '../../' と重ねる。
// lib/tools.jsimport rate from '../rate.js';export function showRate() { console.log(`${rate}%`);}04 / 05
基準は「その行を書いたファイル」
いちばん間違えやすいのがここ。相対パスの基準は、実行を始めた main.js ではなく、その import を書いたファイル自身の場所だよ。
同じ rate.js を指すのでも、書く場所によって道順が変わる。
main.jsからは'./rate.js'lib/tools.jsからは'../rate.js'
迷ったら「このファイルはどこにいるんだっけ」から考えよう。
05 / 05
拡張子は省略しない
'./lib/tools' のように .js を省いた書き方を、どこかで見かけるかもしれない。あれは道具が補ってくれているだけで、そのままでは動かない。
ここでは省略せずに './lib/tools.js' と書こう。迷わなくて済むし、どこで動かしても同じように読み込めるよ。
それじゃあ、フォルダをまたいでつないでみよう。