[GoF] Module Pattern
此篇為各筆記之整理,非原創內容,資料來源包含:
- JavaScript Patterns Workshop @ frontend master
- patterns
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" }
- 針對單一檔案:把副檔名改成