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
C’è ts-node: https://github.com/TypeStrong/ts-node che farà tutto questo per te 🌹
Abbiamo i seguenti passaggi
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
nodo helloward.js
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