跳至主要内容

[GoF] Module Pattern

此篇為各筆記之整理,非原創內容,資料來源包含:

What is Module Pattern

透過 Module Pattern 可以

  • 避免全域狀態(global)被污染
  • 讓程式模組化,可以被重複使用
  • 把程式碼切分成更小的單位,方便管理

在 JavaScript 中可以說是已經內建,如果語法不熟悉,可以參考 JavaScript 模組(ES Module)@ pjchender

  • JavaScript ES6 開始,bundler 就提供使用 ESM 來做到 Module Pattern
  • 在瀏覽器中使用:透過 <script type="module" src="main.js" />,使用時有一些注意事項可參考這裡
  • 在 Node.js 中使用:使用時有一些注意事項可參考這裡,可以二擇一,也可以同時併用
    • 針對單一檔案:把副檔名改成 .mjs
    • 把整個專案的預設值改成 ESM:在 package.json 中加上 { "type": "module" }

Giscus