รัน 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 ครับ