Heim > Web-Frontend > js-Tutorial > Node.js v: Die integrierte TypeScript-Unterstützung ist endlich da

Node.js v: Die integrierte TypeScript-Unterstützung ist endlich da

Barbara Streisand
Freigeben: 2025-01-10 07:45:40
Original
607 Leute haben es durchsucht

Node.js v: Built-in TypeScript Support is Finally Here

Node.js v23.6.0 wurde kürzlich veröffentlicht und enthält ein bedeutendes Update: die Freigabe 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, Generika und Typinferenz. Im Laufe der Jahre hat es sich zum De-facto-Standard für umfangreiche 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
Nach dem Login kopieren
Nach dem Login kopieren

Neben .ts-Dateien unterstützt Node.js auch .mts- und .cts-Dateien, .tsx wird jedoch nicht unterstützt.

Wie Node.js TypeScript ausführt

Node.js verwendet eine Version von swc, um die Typanmerkungen zu entfernen, sodass einfacher JavaScript-Code übrig bleibt, den es ausführen kann.

Überlegungen 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';
Nach dem Login kopieren
Nach dem Login kopieren

statt von './my-module.ts'

Warum ist das so? Der TypeScript-Compiler änderte keine Modulerweiterungen wie „./my-module.js“, daher mussten Entwickler Erweiterungen verwenden, die an der transpilierten JavaScript-Ausgabe ausgerichtet waren.

Da Node.js jedoch Dateierweiterungen verwendet, um den Modultyp zu bestimmen, müssen Sie in Ihren Importen explizit auf TypeScript-Dateien verweisen:

import { myFunction } from './my-module.ts';
Nach dem Login kopieren

Diese Änderung ist notwendig, da Node.js auf Dateierweiterungen angewiesen ist, um den Modultyp zu bestimmen. Im Gegensatz dazu ließ der TypeScript-Compiler zuvor Modulspezifizierer wie „./my-module.js“ unverändert, sodass Entwickler sich an die transpilierte Ausgabe anpassen mussten.

Keine integrierte Typprüfung

Node.js führt beim Ausführen von TypeScript-Dateien keine Typprüfung durch. Um die Typsicherheit zu gewährleisten, müssen Sie den TypeScript-Compiler (tsc) oder ein ähnliches Tool lokal ausführen, zum Beispiel:

tsc --watch
Nach dem Login kopieren

Darüber hinaus ist die korrekte Konfiguration Ihrer tsconfig.json entscheidend für die Konsistenz zwischen Typprüfung und Codierung:

node index.ts
Nach dem Login kopieren
Nach dem Login kopieren
  • allowImportingTsExtensions: Ermöglicht den direkten Import von .ts-Dateien anstelle des Imports von .js.
  • rewriteRelativeImportExtensions: Schreibt relative Importe aus .ts-Dateien in relative Importe aus .js-Dateien um.
  • verbatimModuleSyntax:Warnt, wenn wir beim Importieren eines Typs nicht das Schlüsselwort „type“ verwenden.

Zum Importieren von Typen muss das Schlüsselwort „type“ verwendet werden

Beim Importieren von Typen ist das Schlüsselwort „type“ erforderlich. Andernfalls werden sie durch das Entfernen von Typen nicht entfernt.

import { myFunction } from './my-module.js';
Nach dem Login kopieren
Nach dem Login kopieren

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:

  • Aufzählungen
  • Namespaces
  • Parametereigenschaften 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 von TypeScript

TypeScript ermöglicht die Ausführung kommender JavaScript-Funktionen (z. B. Dekoratoren) auf aktuellen JavaScript-Engines durch Transpilierung.

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

Referenzen

    Neue integrierte Unterstützung von Node für TypeScript
  • Node.js unterstützt jetzt standardmäßig TypeScript

Wir sind Leapcell, Ihre erste Wahl für die Bereitstellung von Node.js-Projekten in der Cloud.

Node.js v: Built-in TypeScript Support is Finally Here

Leapcell ist die serverlose Plattform der nächsten Generation für Webhosting, Async-Aufgaben und Redis:

Mehrsprachige Unterstützung

    Entwickeln Sie mit Node.js, Python, Go oder Rust.

Stellen Sie unbegrenzt viele 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ützt 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.
  • Echtzeitmetriken und Protokollierung für umsetzbare Erkenntnisse.

Mühelose Skalierbarkeit und hohe Leistung

    Automatische Skalierung zur problemlosen Bewältigung hoher Parallelität.
  • Kein Betriebsaufwand – konzentrieren Sie sich nur auf das Bauen.
Erfahren Sie mehr in der Dokumentation!

Node.js v: Built-in TypeScript Support is Finally Here

Folgen Sie uns auf X: @LeapcellHQ


Lesen Sie auf unserem Blog

Das obige ist der detaillierte Inhalt vonNode.js v: Die integrierte TypeScript-Unterstützung ist endlich da. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage