ts-node für TypeScript: Vollständiger Leitfaden mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist ts-node und wozu wird es benötigt?

\n\n

ts-node ist eine TypeScript-Engine für Node.js, die es ermöglicht, TypeScript-Dateien direkt auszuführen, ohne vorherige Kompilierung in JavaScript. Es fungiert sowohl als REPL (Read-Eval-Print Loop) als auch als Kommandozeilenwerkzeug und gewährleistet eine nahtlose Integration von TypeScript in das Node.js-Ökosystem.

\n\n

Hauptanwendungsszenarien:

\n
    \n
  • Schnelle Entwicklung und Prototyping — kein Warten auf die Kompilierung jeder Änderung
  • \n
  • Skriptausführung — Ausführung von TypeScript-Dateien in der Produktion (mit Vorsicht)
  • \n
  • Testen — Ausführung von in TypeScript geschriebenen Tests
  • \n
  • Interaktive Entwicklung — REPL-Modus für Experimente mit TypeScript
  • \n
  • Projektmigration — schrittweiser Übergang von JavaScript zu TypeScript
  • \n
\n\n

Im Gegensatz zum Standardansatz (Kompilierung über tsc und Ausführung über node) macht ts-node den Entwicklungsprozess flüssiger und schneller.

\n\n

Installation von ts-node

\n\n

Die Installation erfolgt über npm (Node.js-Paketmanager). Für Python-Entwickler: Dies ist das Äquivalent zu pip install.

\n\n
# Globale Installation (überall verfügbar)\nnpm install -g ts-node\n\n# Lokale Installation (für Projekte empfohlen)\nnpm install --save-dev ts-node\n\n# Installation zusammen mit TypeScript (falls noch nicht installiert)\nnpm install --save-dev ts-node typescript\n\n# Für die Arbeit mit bestimmten TypeScript-Versionen\nnpm install --save-dev ts-node@10.9.2 typescript@5.3.3
\n\n

Überprüfen Sie nach der Installation die Version:

\n
ts-node --version\n# Ausgabe: v10.9.2
\n\n

Schnellstart mit einem Codebeispiel

\n\n

Erstellen Sie eine Datei hello.ts:

\n\n
// hello.ts\ninterface Greeting {\n    name: string;\n    age: number;\n}\n\nfunction greet(person: Greeting): string {\n    return `Hallo, ${person.name}! Du bist ${person.age} Jahre alt.`;\n}\n\nconst user: Greeting = { name: "Alexej", age: 30 };\nconsole.log(greet(user));
\n\n

Starten Sie ohne Kompilierung:

\n
ts-node hello.ts\n# Ausgabe: Hallo, Alexej! Du bist 30 Jahre alt.
\n\n

Zum Vergleich würde die übliche Methode zwei Schritte erfordern:

\n
tsc hello.ts    # Kompilierung in hello.js\nnode hello.js   # Ausführung der kompilierten Datei
\n\n

Wichtige Methoden und Funktionen von ts-node

\n\n

1. ts-node [datei.ts] — Basisstart einer Datei

\n

Beschreibung: Der Hauptbefehl zum Ausführen einer TypeScript-Datei. ts-node kompiliert und führt den Code automatisch aus.

\n

Parameter:

\n
    \n
  • datei.ts — Pfad zur TypeScript-Datei
  • \n
  • --project oder -P — Pfad zur tsconfig.json
  • \n
  • --transpile-only — nur Transpilierung (schneller, aber ohne Typprüfung)
  • \n
\n

Beispiel:

\n
# Normaler Start\nts-node app.ts\n\n# Mit Angabe der Konfiguration\nts-node --project tsconfig.prod.json app.ts\n\n# Nur Transpilierung (schneller)\nts-node --transpile-only app.ts
\n\n

2. ts-node --eval — Ausführung von Code aus einer Zeichenkette

\n

Beschreibung: Ermöglicht die Ausführung von TypeScript-Code, der als Zeichenkette übergeben wird, ohne eine Datei zu erstellen.

\n

Parameter:

\n
    \n
  • -e oder --eval — Zeichenkette mit TypeScript-Code
  • \n
  • -p oder --print — Ergebnis der Ausführung ausgeben
  • \n
\n

Beispiel:

\n
# Einfacher Ausdruck\nts-node -e "console.log('Hallo von ts-node!')"\n\n# Mit Verwendung von TypeScript-Features\nts-node -e "\ninterface User { name: string }\nconst user: User = { name: 'Maria' };\nconsole.log(user.name);\n"\n\n# Mit Ausgabe des Ergebnisses\nts-node -p "1 + 2"
\n\n

3. ts-node --compiler-options

Empfehlungen