AMD 、 CommonJS 、 ES modules
CommonJS (CJS)
用途: 主要在 Node.js 環境中使用,早期沒有原生的 ES 模組支持時,CommonJS 是主要的模組規範。
語法:
require() 用來引入模組。
module.exports 或 exports 用來導出模組。
加載方式: 同步(Synchronous),在引入模組時會阻塞執行直到模組加載完成。
特點:
主要用於伺服器端,適合需要同步加載的情況。
不支持動態引入(import()),只能靜態引入。AMD (Asynchronous Module Definition)
用途: 主要用於瀏覽器端的模組化,尤其是在非同步加載模組的情境下(例如瀏覽器中動態載入腳本)。
語法:
define() 用來定義模組,並可以指定模組的依賴。
依賴是非同步加載的,可以在加載後觸發回調函數。
加載方式: 非同步(Asynchronous),模組是非同步加載的,不會阻塞主執行緒。
特點:
允許模組之間具有依賴關係,並且非同步地解決依賴問題。
主要用途是在瀏覽器環境中動態加載模組。ES Modules (ESM)
Last updated