Node.js v23.6.0: Integrierte TypeScript-Unterstützung ist endlich da
Lukas Schneider
DevOps Engineer · Leapcell

Node.js v23.6.0 wurde kürzlich veröffentlicht und bringt eine wichtige Aktualisierung mit sich: die Aufhebung der Kennzeichnung von --experimental-strip-types
. Das bedeutet, dass Node.js jetzt TypeScript-Dateien nativ ohne zusätzliche Konfiguration ausführen kann.
Warum TypeScript wichtig ist
TypeScript erweitert JavaScript durch die Einführung optionaler statischer Typisierung und erweiterter Funktionen wie Schnittstellen, Generics und Typinferenz. Im Laufe der Jahre hat es sich zum De-facto-Standard für groß angelegte JavaScript-Anwendungen entwickelt. Mit dieser Integration in Node.js wird TypeScript für Backend-Entwickler noch zugänglicher.
TypeScript in Node.js ausführen
Um eine TypeScript-Datei in Node.js auszuführen, führen Sie einfach Folgendes aus:
node index.ts
Zusätzlich zu .ts
-Dateien unterstützt Node.js auch .mts
- und .cts
-Dateien, aber .tsx
wird nicht unterstützt.
Wie Node.js TypeScript ausführt
Node.js verwendet eine Version von swc
, um die Typ-Annotationen zu entfernen, sodass einfacher JavaScript-Code übrig bleibt, den es ausführen kann.
Hinweise zum Ausführen von TypeScript in Node.js
Lokale Importe müssen auf TypeScript-Dateien verweisen
Wenn Sie TypeScript in einer Umgebung ohne Bundler verwenden, haben Sie möglicherweise zuvor Importe wie diesen geschrieben:
import { myFunction } from './my-module.js';
statt from './my-module.ts'
Warum ist das so? Der TypeScript-Compiler würde Modulerweiterungen wie './my-module.js'
nicht ändern, daher mussten Entwickler Erweiterungen verwenden, die mit der transpilierten JavaScript-Ausgabe übereinstimmten.
Da Node.js jedoch Dateierweiterungen verwendet, um den Modultyp zu bestimmen, müssen Sie explizit auf TypeScript-Dateien in Ihren Importen verweisen:
import { myFunction } from './my-module.ts';
Diese Änderung ist notwendig, da Node.js sich auf Dateierweiterungen verlässt, um den Modultyp zu bestimmen. Im Gegensatz dazu ließ der TypeScript-Compiler zuvor Modulspezifizierer wie './my-module.js'
unverändert, wodurch Entwickler sich an die transpilierten Ausgabe anpassen mussten.
Keine integrierte Typüberprüfung
Node.js führt keine Typüberprüfung durch, wenn TypeScript-Dateien ausgeführt werden. Um Typsicherheit zu gewährleisten, müssen Sie den TypeScript-Compiler (tsc
) oder ein ähnliches Tool lokal ausführen, zum Beispiel:
tsc --watch
Darüber hinaus ist die korrekte Konfiguration Ihrer tsconfig.json
entscheidend für die Konsistenz zwischen Typüberprüfung und Codierung:
{ "compilerOptions": { "target": "esnext", "module": "nodenext", "allowImportingTsExtensions": true, "rewriteRelativeImportExtensions": true, "verbatimModuleSyntax": true } }
allowImportingTsExtensions
: Ermöglicht das direkte Importieren von.ts
-Dateien anstelle des Importierens von.js
.rewriteRelativeImportExtensions
: Schreibt relative Importe von.ts
-Dateien in relative Importe von.js
-Dateien um.verbatimModuleSyntax
: Warnt, wenn wir das Schlüsselworttype
beim Importieren eines Typs nicht verwenden.
Das Schlüsselwort type
muss zum Importieren von Typen verwendet werden
Das Schlüsselwort type
ist beim Importieren von Typen erforderlich - andernfalls werden diese durch das Entfernen der Typen nicht entfernt.
// Type import import type { Item } from './my-module.ts'; // Inline type import import { myFunction, type Item } from './my-module.ts';
Einschränkungen beim Ausführen von TypeScript in Node.js
Keine Unterstützung für Nicht-JavaScript-Sprachfunktionen
Bestimmte TypeScript-spezifische Funktionen werden nicht unterstützt, darunter:
- Enums
- Namespaces
- Parameter-Eigenschaften in Klassenkonstruktoren
Um diese Funktionen zu aktivieren, können Sie das Flag --experimental-transform-types
hinzufügen.
Keine Unterstützung für zukünftige JavaScript-Funktionen, die von TypeScript bereitgestellt werden
TypeScript ermöglicht das Ausführen kommender JavaScript-Funktionen (z. B. Decorators) auf aktuellen JavaScript-Engines, indem diese transpiliert werden.
Da Node.js jedoch nur TypeScript-Typen entfernt, werden solche Funktionen nicht unterstützt.
Können ältere Node.js-Versionen TypeScript ausführen?
Laut Marco auf X wird die TypeScript-Unterstützung in Node.js v22, aber nicht in v20 verfügbar sein.
Referenzen
Wir sind Leapcell, Ihre erste Wahl für die Bereitstellung von Node.js-Projekten in der Cloud.
Leapcell ist die Serverless-Plattform der nächsten Generation für Webhosting, asynchrone Aufgaben und Redis:
Multi-Sprachen-Unterstützung
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Stellen Sie unbegrenzt Projekte kostenlos bereit
- Zahlen Sie nur für die Nutzung – keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 $ unterstützen 6,94 Millionen Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatische CI/CD-Pipelines und GitOps-Integration.
- Echtzeit-Metriken und -Protokollierung für umsetzbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Auto-Skalierung zur einfachen Bewältigung hoher Parallelität.
- Kein operativer Overhead – konzentrieren Sie sich einfach auf den Aufbau.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ