React Summit 2024: ทำไม TypeScript ถึงช้า

วิดีโอนี้มาจากงาน React Summit 2024
🧠 เป็นหนึ่งในทอล์กที่พูดถึงปัญหาใหญ่ของสาย JavaScript/TypeScript คือ...

**"ทำไม TypeScript ถึงช้า?" และ "เราจะแก้มันยังไงได้บ้าง?"

🎙️ โดย Mike Hartington (ทีม NX) — คนทำเครื่องมือสำหรับ Monorepo ที่ช่วยจัดการโปรเจกต์ใหญ่ ๆ

🔥
หัวข้อ:

"TypeScript ช้าไปมั้ย?"
🎙️ โดย Mike จากทีม NX

💡
สรุปเนื้อหาหลัก

😩 TypeScript ช้า! แต่เราชอบมันอยู่ดี

  • ใช้แล้วเข้าใจโค้ดดีขึ้น โดยเฉพาะเวลาใช้กับไลบรารีจำนวนมาก
  • แต่... มันช้ามาก ทั้งตอน build และตอนใช้งานใน editor

⚙️ ปัญหาที่แท้จริงคือ?

🧱 1.
Build ช้า เพราะโปรเจกต์ใหญ่เกิน!

  • ถ้าใช้ TypeScript กับไฟล์เยอะ ๆ → เครื่องแรงยังไงก็หน่วง
  • แนวทางแก้:
    → แบ่งโปรเจกต์ใหญ่เป็นโมดูลเล็ก ๆ
    → ใช้ monorepo + workspace (เช่น Nx, TurboRepo)

🔁 2.
Path Aliases หลอกเรา!

  • @lib/button ดูเหมือน import จาก node_modules แต่จริง ๆ คือ path ชี้กลับมาที่ไฟล์เดิม
  • สรุป TypeScript ก็ยังต้องวิเคราะห์ไฟล์เยอะเท่าเดิม

🔄 3.
ใช้ Project References สิ!

  • ทำให้ TypeScript รู้ว่าแต่ละ package แยกกันจริง ๆ
  • แคชและเช็กไทป์แยกทีละโมดูล → เร็วขึ้นเห็น ๆ

🧠 4.
Editor Lag? เพราะไทป์มันซับซ้อนเกิน

  • ถ้าใช้ TypeScript ฟีเจอร์เทพ ๆ (อย่าง template literal types, infer, recursive types ฯลฯ)
    → Editor จะแฮงค์
    ✅ ทางแก้: พยายามอย่า “ฉลาด” เกินไป กับ type
    ✅ หรือ Prebuild type ทั้งหมด แล้วแจกเป็น .d.ts

🌈 ข่าวดีจากทีม TypeScript

🎉 กำลังพัฒนา TypeScript Compiler เขียนด้วย Go (TS-Go)
💨 เร็วขึ้นหลายเท่า แต่คงต้องรอ TypeScript 7.0 (ยังอีกสักพัก)

✅ สรุปแนวทางแก้แบบง่าย ๆ

  • 🪓 แยกโปรเจกต์ให้เล็กลง
  • 🗂️ ใช้ Monorepo + Workspaces
  • 🔗 ใช้ Project References แทน Path Aliases
  • 🧼 งด type recursion / complexity เกินเหตุ
  • ⚒️ พิจารณา prebuild .d.ts ช่วย editor ทำงานไวขึ้น
sandwiched-developer-author
s
เขียนโดย

sirawich

[@portabletext/react] Unknown block type "undefined", specify a component for it in the `components.types` prop
อ่านต่อ

บทความที่เกี่ยวข้อง

มีอะไรใหม่ใน-storybook-9-มาดูกันเลย
sandwiched-developer-author
s
sirawich
·มิ.ย. 8, 2025

มีอะไรใหม่ใน Storybook 9 มาดูกันเลย

sandwiched-developer-ts-cannot-missing
sandwiched-developer-author
s
sirawich
·มิ.ย. 1, 2025

TypeScript เสียงสะท้อนจากอนาคตที่ย้อนกลับมาบอกว่า “เธอพลาดไม่ได้อีกแล้ว”

sandwiched-developer-ts-zoom-glasses
sandwiched-developer-author
s
sirawich
·พ.ค. 31, 2025

TypeScript แว่นตาแห่งความชัดเจนในโลกที่พร่าเบลอ