模組
一個檔案太大就該拆開。模組就是「一個檔案提供一些函式或資料,另一個檔案把它們引進來用」。
新專案請用 ES Module(import / export)。在 package.json 加上:
沒有這一行時,Node.js 預設是舊的 CommonJS(require / module.exports)。兩種語法不要寫在同一個檔案,否則會直接報錯。
匯出與匯入
export 把名稱交出去;import { ... } 把同名的東西接進來。大括號裡的名字必須對得上。
math.js:
main.js:
預設匯出
一個檔案主要只提供「那一個」函式或物件時,可用 export default。匯入時名字可以自取,不必加大括號:
路徑規則
- 自己寫的檔案一定要寫相對路徑:
./是同一層,../是上一層。副檔名建議寫.js,否則有時會找不到。 - 用 npm 裝的套件寫套件名稱即可,例如
import dayjs from "dayjs"。 - Node 內建的模組建議加
node:前綴,例如import { readFile } from "node:fs/promises",一眼就知道不是第三方套件。
總結
export 拿出去,import 拿進來。新專案設 "type": "module",就和瀏覽器、現代教材一致。