Skip to content

建立 2026-09-12 更新 2026-09-12

模組

一個檔案太大就該拆開。模組就是「一個檔案提供一些函式或資料,另一個檔案把它們引進來用」。

新專案請用 ES Module(import / export)。在 package.json 加上:

{
  "type": "module"
}

沒有這一行時,Node.js 預設是舊的 CommonJS(require / module.exports)。兩種語法不要寫在同一個檔案,否則會直接報錯。

匯出與匯入

export 把名稱交出去;import { ... } 把同名的東西接進來。大括號裡的名字必須對得上。

math.js

export function add(a, b) {
  return a + b;
}

export const PI = 3.14;

main.js

import { add, PI } from "./math.js";

console.log(add(2, 3));
console.log(PI);
node main.js

預設匯出

一個檔案主要只提供「那一個」函式或物件時,可用 export default。匯入時名字可以自取,不必加大括號:

export default function greet(name) {
  return `Hello, ${name}`;
}
import greet from "./greet.js";
console.log(greet("Ada"));

路徑規則

  • 自己寫的檔案一定要寫相對路徑:./ 是同一層,../ 是上一層。副檔名建議寫 .js,否則有時會找不到。
  • 用 npm 裝的套件寫套件名稱即可,例如 import dayjs from "dayjs"
  • Node 內建的模組建議加 node: 前綴,例如 import { readFile } from "node:fs/promises",一眼就知道不是第三方套件。

總結

export 拿出去,import 拿進來。新專案設 "type": "module",就和瀏覽器、現代教材一致。