TypeScript เป็นเครื่องมือที่ยอดเยี่ยมในการเพิ่มความน่าเชื่อถือให้กับโค้ด JavaScript ด้วยระบบ Type Checking ที่เข้มงวด อย่างไรก็ตาม การทำงานของมันไม่ได้จบลงแค่การตรวจสอบไวยากรณ์เท่านั้น แต่ยังเกี่ยวข้องกับการแปลงรหัสจากไฟล์ต้นฉบับ (.ts) ให้กลายเป็นชุดคำสั่งภาษา JavaScript บริสุทธิ์สำหรับสภาพแวดล้อม Runtime ต่างๆ กระบวนการนี้คือ ‘Compilation’ ซึ่งหัวใจสำคัญของการควบคุมผลลัพธ์สุดท้ายเหล่านี้อยู่ที่ตัวเลือกหรือ Options ใน file tsconfig.json
ทำไมต้องเข้าใจ Module Output?
เมื่อเราพูดถึง ‘Module’ เรากำลังหมายถึงหน่วยย่อย ๆ ของโค้ดที่มีขอบเขตชัดเจน และในโลกสมัยใหม่ โค้ดส่วนใหญ่ถูกแบ่งเป็นโมดูลเพื่อความเป็นระเบียบและนำกลับมาใช้ซ้ำได้สูง ปัญหาหลักประการหนึ่งคือ ภาษา TypeScript ต้องตัดสินใจว่า “รูปแบบ” โมเดลเหล่านั้นควรมีหน้าตาอย่างไร เมื่อไปอยู่ใน JS ตัวอย่างเช่น ระบบ Node.js อาจต้องการ CommonJS (require/exports), ขณะที่ Web Browser สมัยใหม่อาจคาดหวัง ES Modules (import/export default)
หากนักพัฒนาไม่กำหนดค่า Compiler Option เหล่านี้ให้ถูกต้อง ไฟล์ JS ผลลัพธ์อาจจะพึ่งพาโครงสร้างเก่า ทำให้เกิดปัญหา Compatibility Error ได้ การปรับแต่งจึงไม่ใช่แค่เรื่องทางเทคนิค แต่เป็นการรับประกันความเข้ากันได้ของระบบทั้งหมดค่ะ
ออปชันเชิงกลไก: กำหนดทิศทางการทำงาน
ในการจัดการกับไฟล์ผลลัพธ์ มีชุดคำสั่งสำคัญหลายรายการที่เราจะต้องควบคุม:
target: นี่คือตัวบ่งชี้เวอร์ชั่น JavaScript ที่คุณตั้งเป้าไว้ เช่น ตั้ง