剛開始學程式拆分時,我常搞不清楚:
哪些邏輯該放在主程式?哪些該拆成模組?
模組化就是把程式拆分成小而獨立的功能單元,每個模組只專注於自己的功能。
例如:
優點:
Node.js 官方提供,例如 os、fs、http。
var os = require('os');
console.log(os.platform()); // darwin
用別人寫好的功能引入進來
自己寫的功能檔案。
export function isLength(input, boundary) {
if (input.length !== boundary) {
throw new Error(`請輸入${boundary}個字母`);
}
}
透過 npm 安裝別人寫好的功能
例如 express、lodash、moment。
npm install express
CommonJS(Node.js)
最初是為了Node.js開發設計。
const login = require('./login');
ES Module(ES6 標準)
import與export關鍵字來定義和導入模塊
import login from './login.js';
後面幾天再來繼續講 CommonJS 和 ES Module 的差異~