Was ist ts-node und wozu wird es benötigt?
\n\nts-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\nHauptanwendungsszenarien:
\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
Im Gegensatz zum Standardansatz (Kompilierung über tsc und Ausführung über node) macht ts-node den Entwicklungsprozess flüssiger und schneller.
Installation von ts-node
\n\nDie Installation erfolgt über npm (Node.js-Paketmanager). Für Python-Entwickler: Dies ist das Äquivalent zu pip install.
# 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:
\nts-node --version\n# Ausgabe: v10.9.2\n\nSchnellstart mit einem Codebeispiel
\n\nErstellen Sie eine Datei hello.ts:
// 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\nStarten Sie ohne Kompilierung:
\nts-node hello.ts\n# Ausgabe: Hallo, Alexej! Du bist 30 Jahre alt.\n\nZum Vergleich würde die übliche Methode zwei Schritte erfordern:
\ntsc hello.ts # Kompilierung in hello.js\nnode hello.js # Ausführung der kompilierten Datei\n\nWichtige Methoden und Funktionen von ts-node
\n\n1. ts-node [datei.ts] — Basisstart einer Datei
\nBeschreibung: Der Hauptbefehl zum Ausführen einer TypeScript-Datei. ts-node kompiliert und führt den Code automatisch aus.
\nParameter:
\n- \n
datei.ts— Pfad zur TypeScript-Datei \n --projectoder-P— Pfad zur tsconfig.json \n --transpile-only— nur Transpilierung (schneller, aber ohne Typprüfung) \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\n2. ts-node --eval — Ausführung von Code aus einer Zeichenkette
\nBeschreibung: Ermöglicht die Ausführung von TypeScript-Code, der als Zeichenkette übergeben wird, ohne eine Datei zu erstellen.
\nParameter:
\n- \n
-eoder--eval— Zeichenkette mit TypeScript-Code \n -poder--print— Ergebnis der Ausführung ausgeben \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\n3. ts-node --compiler-options
Auch in der Bibliothek
Autorisierung und Authentifizierung in C# (.NET): Vollständiger Leitfaden
Bildverarbeitung in Node.js: Bibliotheken und Werkzeuge
Überwachung von C++-Anwendungen: Werkzeuge und Bibliotheken