web-dev-qa-db-fra.com

Comment exécuter des fichiers TypeScript à partir de la ligne de commande?

J'ai du mal à trouver une réponse à cette question. Avec Plain Node.JS, vous pouvez exécuter n’importe quel fichier js avec node path/to/file.js, avec CoffeeScript c’est coffee hello.coffee et ES6 a babel-node hello.js. Comment est-ce que je fais la même chose avec Typescript?

Mon projet a un tsconfig.json qui est utilisé par Webpack/ts-loader pour construire un joli petit paquet pour le navigateur. Avant cela, j’ai besoin d’une étape de compilation exécutée à partir de la console, mais qui utiliserait certains des fichiers .ts utilisés dans le projet pour générer un schéma. compiler l'ensemble du projet.

102
Gunchars

Comment faire la même chose avec TypeScript

Vous pouvez laisser tsc en cours en mode veille à l'aide de tsc -w -p .. Les fichiers .js seront générés pour vous en direct, de sorte que vous puissiez exécuter node foo.js comme d'habitude.

Nœud TS

Il y a ts-node: https://github.com/TypeStrong/ts-node qui fera tout cela pour vous ????

153
basarat

Nous avons les étapes suivantes 

  1. D'abord, vous devez installer TypeScript

    npm install -g TypeScript

2.Créez un fichier helloword.ts

function hello(person){
 return "Hello, " + person;
}
let user = "Aamod Tiwari";
const result = hello(user);
console.log("Result",result)

3. Ouvrez la commande Invite et tapez la commande suivante

tsc helloward.ts

  1. Encore une fois, lancez la commande

noeud helloward.js

  1. Le résultat s'affichera sur la console 
13
Aamod Tiwari

Pour ajouter à la réponse @Aamod ci-dessus, si vous souhaitez utiliser une ligne de commande pour compiler et exécuter votre code, vous pouvez utiliser les éléments suivants:

pour les fenêtres:

tsc main.ts | node main.js

pour Mac:

tsc main.ts && node main.js
2
tony2tones

Juste au cas où quelqu'un est fou comme moi et veut exécuter un script TypeScript comme s'il s'agissait d'un script .js, vous pouvez essayer ceci. J'ai écrit un script hacky qui apparaît pour exécuter le script .ts en utilisant node.

#!/usr/bin/env bash

NODEPATH="$HOME/.nvm/versions/node/v8.11.3/bin" # set path to your node/tsc

export TSC="$NODEPATH/tsc"
export NODE="$NODEPATH/node"

TSCFILE=$1 # only parameter is the name of the ts file you created.

function show_usage() {
    echo "ts2node [ts file]"
    exit 0
}

if [ "$TSCFILE" == "" ]
then
    show_usage;
fi

JSFILE="$(echo $TSCFILE|cut -d"." -f 1).js"

$TSC $TSCFILE && $NODE $JSFILE

Vous pouvez le faire ou écrire le vôtre, mais essentiellement, il crée le fichier .js, puis utilise node pour l'exécuter comme suit:

# tsrun myscript.ts

Simple. Assurez-vous simplement que votre script n’en a qu’un "." sinon vous aurez besoin de changer votre JSFILE d'une manière différente de celle que j'ai montrée.

1
Harlin

Voici quelques étapes pour exécuter le fichier TypeScript à partir de la commande Invite

1) Node.js devrait être installé, sinon il est indispensable de l’installer.

2) TypeScript doit être installé, sinon installez-le.

3) Compilez le type de fichier script dans la commande Invite.

D: \> tsc demo.ts

4) Exécutez le fichier demo.js compilé dans la commande Invite.

5) D: \> noeud demo.js

1
Sheo Dayal Singh

Juste des informations utiles - voici la dernière version de TypeScript/JavaScript runtime Deno .

Il a été créé par le créateur du noeud Ryan Dahl, basé sur ce qu'il ferait différemment s'il pouvait recommencer à zéro.

1

Ecrivez-vous un simple emballage peut aider.

#!/bin/bash
npx tsc $1 && node ${1%%.ts}
0
Joyer

Vous pouvez facilement le faire à partir de la ligne de commande du noeud. Tout d’abord, créez un fichier Greeter.ts comme ci-dessous.

class Greeter {
  greeting : string;
  constructor(message : string) {
    this.greeting = message;
  }

  greet() {
    return "Hello, " + this.greeting;
  }
}

let greeter = new Greeter("world");
console.log(greeter.greet());

Maintenant, compilez le fichier ci-dessus avec la commande tsc Greeter.ts qui créera un fichier Greeter.js dans le même répertoire.

Maintenant, vous pouvez exécuter la commande node Greeter.js qui va générer Hello, world

0
Praveen Kishor