รัน TypeScript บน Node.js ด้วยความเร็วแสงผ่าน tsx
Nuttavut Thongjor
Node.js

เรียนรู้การใช้ tsx เพื่อรัน TypeScript กับ Node อย่างรวดเร็ว

คำอธิบาย
ความคิดเห็น

ปกติแล้วเรามีแพคเกตอย่าง ts-node ที่ทำให้เราสามารถรัน TypeScript บน Node.js ได้โดยตรง สำหรับ tsx นั้นเป็นอีกเครื่องมือที่แตกต่าง นอกเหนือจากจะทำได้เหมือน ts-node แล้ว การทำงานนั้นยังไวปรู๊ดเพราะถูกบู๊ทด้วย esbuild ยังไงละ

ฟีเจอร์ต่าง ๆ ของ tsx เช่น

  • ทำงานได้ไวปรู๊ดปร๊าดผ่าน esbuild (ถ้าเป็น ts-node ต้องใช้คำสั่ง ts-node --esm --swc ซึ่งจะทำงานผ่าน swc แทน)
  • มีโหมด watch ในตัว สามารถแก้ไขไฟล์แล้วเห็นผลลัพธ์ทันทีหลังบันทึกไฟล์
  • ทำงานได้ทั้งกับไฟล์ .cts และ .mts
  • มี TypeScript REPL แค่สั่ง tsx ก็จะสามารถทดลองเล่น TypeScript ได้ทันที
  • Resolves paths จาก tsconfig.json ได้เลย
  • ทำงานกับ node protocol ได้ (การ import แพคเกจของ node ด้วยการเติม node: นำหน้า) อันนี้ ts-node ก็ทำไม่ได้
  • และอื่น ๆ

ตัวอย่างคำสั่งในการเรียกใช้ tsx บนไฟล์ main.ts คือ

Code
1npx tsx ./main.ts

และหากต้องการเปิด watch mode ก็แค่เติม watch ลงไปในคำสั่ง ดังนี้

Code
1npx tsx watch ./main.ts

สำหรับข้อมูลเพิ่มเติมของ tsx สามารถดูได้จาก Github ส่วนข้อเปรียบเทียบฟีเจอร์ระหว่าง tsx กับ ts-node รวมถึง runtime ตัวอื่น ๆ สามารถดูได้จาก TypeScript runtime comparisons ครับ