𝗡𝗼𝗱𝗲.𝗷𝘀 𝟮𝟰 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗡𝗮𝘁𝗶𝗳
Node.js 24 mengubah cara anda menggunakan TypeScript. Kini anda boleh menjalankan fail .ts dalam produksi tanpa langkah binaan (build step).
Runtime tersebut membuang anotasi jenis (type annotations) semasa masa pemuatan (load time). Ia menganggap TypeScript sebagai JavaScript beranotasi dan melaksanakannya secara terus. Ini menghapuskan keperluan untuk transpilasi atau pembundelan (bundling).
Mengapa ini penting:
- Anda hanya memerlukan satu sumber kebenaran (source of truth).
- Anda menghapuskan kerumitan mengurus direktori dist.
- Persekitaran pembangunan anda sepadan tepat dengan produksi.
Cara ia berfungsi: Pemuat modul (module loader) memintas teks sumber. Ia membuang antara muka (interfaces), anotasi jenis, dan import jenis sahaja (type-only imports). Logik yang berbaki akan dijalankan pada enjin V8 standard. Kod yang telah diubah suai akan kekal dalam cache modul, jadi ia hanya berlaku sekali bagi setiap pemuatan modul.
Had yang anda perlu tahu: Ini bukan pengganti penuh untuk saluran binaan (build pipeline) anda. Anda masih memerlukan alatan untuk tugasan tertentu.
- Tiada pemeriksaan jenis: Runtime tidak menyemak ralat. Anda mesti menjalankan
tsc --noEmitdalam saluran CI anda untuk mengesan pepijat. - Tiada alias laluan: Ia tidak menyokong pemetaan laluan
tsconfig.json. - Tiada dekorator: Transformasi lanjutan masih memerlukan pembundel seperti
esbuild. - Tiada keselamatan runtime: Jenis yang telah dibuang tidak memberikan sebarang perlindungan semasa pelaksanaan. Gunakan pustaka seperti
Zoduntuk pengesahan data.
Bila hendak menggunakannya: TypeScript Natif adalah sempurna untuk mikroservis dengan graf kebergantungan yang ringkas. Ia meningkatkan kepantasan penggunaan (deployment velocity) dengan mengurangkan bahagian yang perlu diuruskan.
Bila perlu kekal dengan binaan tradisional: Jika anda memerlukan pengoptimuman agresif, tree shaking, atau minifikasi, kekalkan saluran binaan sedia ada anda. Aplikasi besar dengan keperluan binaan yang kompleks akan tetap mendapat lebih manfaat daripada bundel JavaScript yang dioptimumkan.
Cara menyediakannya: Untuk memastikan stack trace anda mudah dibaca, gunakan flag source maps.
Contoh arahan:
node --enable-source-maps src/server.ts
Ini membolehkan anda menyahpepijat ralat menggunakan nombor baris TypeScript asal anda.