Modules Styles
Modules Styles
- CommonJS เป็นรูปแบบดั้งเดิมของ Node.js และยังคงใช้งานอย่างแพร่หลาย
- ES Modules เป็นมาตรฐานใหม่ที่ใช้ใน browser และ Node.js สมัยใหม่
- Node.js รุ่นใหม่สามารถใช้ทั้งสองรูปแบบร่วมกันได้ แต่อาจต้องระวังเรื่องความเข้ากันได้
คุณลักษณะ | CommonJS | ES Modules |
---|---|---|
นามสกุลไฟล์ | .js, .cjs | .mjs, .js (ถ้าตั้งค่า "type": "module" ใน package.json) |
Syntax การ import | require() | import / import() |
Syntax การ export | module.exports / exports | export / export default |
การโหลด | Synchronous | Asynchronous |
การรองรับ | Node.js ทุกเวอร์ชัน | Node.js v12+ (มีการรองรับเต็มรูปแบบใน v14+) |
Dynamic imports | ✓ | ✓ (ใช้ import() ) |
Circular dependencies | รองรับ | รองรับ (แต่มีข้อจำกัด) |
Top-level await | ✗ | ✓ |
Tree-shaking | ✗ | ✓ |
การใช้ __dirname , __filename | ✓ | ✗ (ต้องใช้วิธีอื่นแทน) |
การใช้ require.cache | ✓ | ✗ |
built-in-modules
Core Utilities