Come eseguire i file TypeScript dalla riga di comando?

Mi sto trovando sorprendentemente difficile trovare una risposta a questo. Con plain Node.JS, puoi eseguire qualsiasi file js con node path/to/file.js , con CoffeeScript è coffee hello.coffee e ES6 ha babel-node hello.js . Come faccio a fare lo stesso con Typescript?

Il mio progetto ha un tsconfig.json che viene utilizzato da Webpack / ts-loader per creare un bel pacchetto per il browser. Ho bisogno di una fase di sviluppo eseguita dalla console prima, però, che userebbe alcuni dei file .ts usati nel progetto per generare uno schema, ma non riesco a essere in grado di eseguire un singolo file Typescript senza compilare l’intero progetto.

Come faccio lo stesso con Typescript

Puoi lasciare tsc esecuzione in modalità orologio usando tsc -w -p . e genererà file .js per te in modo live, quindi puoi eseguire node foo.js come normale

Nodo TS

C’è ts-node: https://github.com/TypeStrong/ts-node che farà tutto questo per te 🌹

Abbiamo i seguenti passaggi

  1. Per prima cosa devi installare typescript

    npm install -g typescript

2. Crea un file helloword.ts

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

3. Aprire il prompt dei comandi e digitare il seguente comando

tsc helloward.ts

  1. Di nuovo, esegui il comando

nodo helloward.js

  1. Il risultato verrà visualizzato sulla console

Nel caso in cui qualcuno sia pazzo come me e voglia solo eseguire script typescript come se fosse uno script .js, puoi provare questo. Ho scritto uno script hacky che sembra eseguire lo script .ts utilizzando il nodo.

 #!/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 

Puoi farlo o scrivere il tuo ma in sostanza, crea il file .js e poi usa il nodo per eseguirlo in questo modo:

 # tsrun myscript.ts 

Semplice. Assicurati che il tuo script ne abbia solo uno “.” altrimenti dovrai cambiare il tuo JSFILE in un modo diverso da quello che ho mostrato.

Ecco alcuni passaggi per eseguire il file typescript dal prompt dei comandi

1) Node.js dovrebbe essere installato, se no, allora è un prerequisito per installarlo.

2) Dovrebbe essere installato Typescript, se non installato, quindi installarlo.

3) Compilare il file di script di tipo nel prompt dei comandi

D: \> tsc demo.ts

4) Esegui il file demo.js compilato nel prompt dei comandi

5) D: \> nodo demo.js

Puoi farlo facilmente dalla riga di comando del nodo. Prima di tutto, crea un file Greeter.ts come sotto.

 class Greeter { greeting : string; constructor(message : string) { this.greeting = message; } greet() { return "Hello, " + this.greeting; } } let greeter = new Greeter("world"); console.log(greeter.greet()); 

Ora compila il file precedente con il comando tsc Greeter.ts che creerà un file Greeter.js nella stessa directory.

Ora è ansible eseguire il node Greeter.js comando node Greeter.js che restituirà Hello, world

Questa domanda è stata pubblicata nel 2015. Nel 2018, il nodo riconosce sia .js che .ts . Quindi, verrà eseguito anche il file node file.ts