การใช้งาน Module (import/export) ใน JavaScript
1. Module คืออะไร
Module คือการแยกโค้ดออกเป็นหลายไฟล์ แล้วสามารถนำเข้ามาใช้งานข้ามไฟล์ได้
-
ช่วยจัดระเบียบโค้ด
-
เขียนซ้ำง่าย
-
แก้ไขง่าย
-
ลดความซับซ้อนของโปรเจกต์ใหญ่
ตั้งแต่ ES6 (ปี 2015)
JavaScript สนับสนุน ES Modules (import/export
) อย่างเป็นทางการ
2. รูปแบบการ Export
2.1 Named Export (ส่งออกหลายตัว)
ไฟล์ math.js
หมายเหตุ
-
สามารถ export ได้หลายตัว
-
ใช้
export
หน้าตัวแปร หรือฟังก์ชันแต่ละตัว
2.2 Default Export (ส่งออกได้ตัวเดียว)
ไฟล์ greeting.js
-
1 ไฟล์ มี
export default
ได้เพียงตัวเดียว -
ไม่ต้องใส่ชื่อเวลา import (ตั้งชื่อเองได้ตอน import)
3. รูปแบบการ Import
3.1 Import Named Export
ไฟล์ main.js
3.2 Import Default Export
3.3 Import พร้อมตั้งชื่อใหม่ (alias)
3.4 Import ทั้งหมด
4. การผสม Export แบบ Named + Default ในไฟล์เดียว
ไฟล์ utils.js
import แบบผสม
5. คำสำคัญเกี่ยวกับ Path
-
./
หมายถึง ไฟล์เดียวกันในโฟลเดอร์ปัจจุบัน -
../
หมายถึง โฟลเดอร์ก่อนหน้า
เช่น
6. ข้อควรระวัง
-
ไฟล์ module ต้องระบุ
.js
ใน path -
ใน Node.js เวอร์ชันใหม่, หรือใน Browser (modern) รองรับ ES Module ได้เลย
-
ถ้าเขียนใน browser บางครั้งต้องเพิ่ม
type="module"
ใน<script>
ตัวอย่าง:
7. ตัวอย่างโครงสร้างโปรเจกต์จริงแบบใช้ Modules
math.js
greeting.js
utils.js
main.js
8. เมื่อใช้กับ Node.js
-
ตั้งแต่ Node 14+ รองรับ ES Modules
-
ต้องตั้งค่า
"type": "module"
ในไฟล์package.json
ก่อน
หรือเปลี่ยนชื่อไฟล์เป็น .mjs
สรุปสั้นที่สุด
-
ใช้
export
/export default
เพื่อส่งออก -
ใช้
import
เพื่อเรียกใช้ข้ามไฟล์ -
Module ทำให้โปรเจกต์ใหญ่ๆ เขียนง่ายขึ้นมาก
ป้ายกำกับ
บทความ
Facebook SDK
CSS Content ( แสดงทุกหน้าของบทความ )
COKKIE POPUP