Comment exécuter TypeScript depuis la ligne de commande : 3 méthodes efficaces

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Comment exécuter TypeScript depuis la ligne de commande : du simple au professionnel

\n\n

Vous avez écrit votre premier script en TypeScript. Tout est beau : typage strict, syntaxe concise, autocomplétion dans l'IDE. Mais quand vous ouvrez le terminal et tapez node script.ts, Node.js affiche une erreur. Ça vous dit quelque chose ?

\n\n

TypeScript est une surcouche de JavaScript, et Node.js ne sait pas exécuter les fichiers .ts directement. Dans cet article, nous allons passer en revue toutes les méthodes réelles pour exécuter TypeScript depuis la ligne de commande. Vous découvrirez la différence entre un lancement rapide et une compilation pour la production, quand utiliser ts-node et quand utiliser tsx, et comment ne pas vous perdre parmi les outils.

\n\n

Nous nous appuyons sur une question populaire de Stack Overflow (plus de 500 000 vues), mais nous ne donnons pas qu'une simple réponse : nous proposons une comparaison complète des approches. C'est parti !

\n\n

Pourquoi Node.js ne comprend-il pas TypeScript ?

\n\n

Avant de chercher des outils, comprenons le problème. Quand vous écrivez :

\n\n
const greet = (name: string): string => {\n  return `Bonjour, ${name}!`;\n};\nconsole.log(greet('PythonLib'));
\n\n

Node.js voit : string et ne comprend pas quoi en faire. JavaScript ne prend pas en charge le typage statique comme partie de sa syntaxe. Il faut donc d'abord transpiler (convertir) TypeScript en JavaScript, puis l'exécuter.

\n\n

Il existe deux approches fondamentalement différentes :

\n
    \n
  • En deux étapes : d'abord compiler avec tsc script.ts, puis exécuter avec node script.js.
  • \n
  • En une étape : utiliser des utilitaires qui font les deux actions pour vous « à la volée » (compilation JIT).
  • \n
\n\n

Nous allons examiner les deux options, mais commençons par la plus populaire : l'approche en une étape.

\n\n

Méthode 1 : ts-node — le classique

\n\n

ts-node est un moteur d'exécution TypeScript pour Node.js. Il compile le code en mémoire et le transmet immédiatement à Node.js. C'est la méthode la plus ancienne et la plus éprouvée pour exécuter TypeScript depuis la ligne de commande sans effort superflu.

\n\n

Installation et exécution

\n\n
npm install -g ts-node typescript @types/node\nts-node script.ts
\n\n

Voilà. Votre fichier s'exécute sans créer de fichier JS intermédiaire. Sous le capot, ts-node utilise le compilateur TypeScript standard (tsc), mais de manière transparente pour le développeur.

\n\n

Exemple : travail avec une API

\n\n
// api-demo.ts\nimport axios from 'axios';\n\ninterface Post {\n  userId: number;\n  id: number;\n  title: string;\n}\n\nasync function fetchFirstPost(): Promise<Post> {\n  const response = await axios.get<Post>('https://jsonplaceholder.typicode.com/posts/1');\n  return response.data;\n}\n\nfetchFirstPost().then(post => console.log(post.title));\n// Sortie : sunt aut facere repellat provident occaecati excepturi optio reprehenderit
\n\n

On exécute : ts-node api-demo.ts. Le résultat apparaît immédiatement dans la console.

\n\n

Avantages et inconvénients de ts-node

\n\n
    \n
  • + Simplicité : une seule commande au lieu de deux.
  • \n
  • + Prise en charge de tsconfig.json : tous vos paramètres TypeScript sont respectés.
  • \n
  • + REPL : la commande ts-node sans argument ouvre un shell interactif TypeScript.
  • \n
  • - Vitesse : une compilation a lieu à chaque exécution, ce qui est notable sur les gros projets.
  • \n
  • - Consommation mémoire : en utilisation prolongée (par exemple en mode watch), il peut consommer beaucoup de RAM.
  • \n
\n\n

Quand l'utiliser : pour des scripts, des prototypes, des petits utilitaires. Si vous avez besoin d'exécuter un fichier TypeScript depuis la ligne de commande rapidement et sans configuration, ts-node est votre choix.

\n\n

Méthode 2 : tsx — l'héritier moderne et rapide

\n\n

tsx (TypeScript Execute) est un utilitaire plus récent,

Blogs

Book Recommendations