node.js - reconoce - ¿Cómo ejecutar archivos TypeScript desde la línea de comandos?
tsc no se reconoce como un comando (9)
¿Cómo hago lo mismo con Typecript?
Puede dejar
tsc
ejecutándose en modo reloj usando
tsc -w -p .
y generará archivos
.js
para usted en vivo, por lo que puede ejecutar
node foo.js
como de costumbre
Nodo TS
Hay ts-node: https://github.com/TypeStrong/ts-node que hará todo esto por usted 🌹
Me está costando sorprendentemente difícil encontrar una respuesta a esto.
Con Node.JS simple, puede ejecutar cualquier archivo js con
node path/to/file.js
, con CoffeeScript es
coffee hello.coffee
y ES6 tiene
babel-node hello.js
.
¿Cómo hago lo mismo con Typecript?
Mi proyecto tiene un
tsconfig.json
que usa Webpack / ts-loader para construir un pequeño paquete agradable para el navegador.
Sin embargo, tengo la necesidad de ejecutar un paso de compilación desde la consola antes de eso, que usaría algunos de los archivos
.ts
utilizados en el proyecto para generar un esquema, pero parece que no puedo ejecutar un solo archivo de
.ts
sin compilar todo el proyecto.
En caso de que alguien esté loco como yo y solo quiera ejecutar un script mecanografiado como si fuera un script .js, puede intentar esto. He escrito un script hacky que parece ejecutar el script .ts usando 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
Puede hacer esto o escribir el suyo propio, pero esencialmente, crea el archivo .js y luego usa el nodo para ejecutarlo así:
# tsrun myscript.ts
Sencillo. Solo asegúrate de que tu script solo tenga un "." de lo contrario, deberá cambiar su JSFILE de una manera diferente a la que he mostrado.
Escríbete que un simple envoltorio de bash puede ayudar.
#!/bin/bash
npx tsc $1 && node ${1%%.ts}
Esta pregunta se publicó en 2015. En 2018, el nodo reconoce tanto
.js
como
.ts
.
Por lo tanto, también se ejecutará el
node file.ts
Para agregar a @Aamod la respuesta anterior, si desea usar una línea de comando para compilar y ejecutar su código, puede usar lo siguiente:
Ventanas:
tsc main.ts | node main.js
Linux / macOS:
tsc main.ts && node main.js
Puede hacerlo fácilmente desde la línea de comando del nodo. En primer lugar, cree un archivo Greeter.ts como se muestra a continuación.
class Greeter {
greeting : string;
constructor(message : string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
let greeter = new Greeter("world");
console.log(greeter.greet());
Ahora, compile el archivo anterior con el comando
tsc Greeter.ts
que creará un archivo Greeter.js en el mismo directorio.
Ahora, puede ejecutar el
node Greeter.js
comando
node Greeter.js
que generará
Hello, world
Solo información útil: aquí está el nuevo tiempo de ejecución de TypeScript / JavaScript Deno .
Fue creado por el creador del nodo Ryan Dahl, basado en lo que haría de manera diferente si pudiera comenzar de nuevo.
Tenemos los siguientes pasos
-
Primero necesitas instalar el mecanografiado
npm install -g mecanografiado
2.Cree un archivo helloword.ts
function hello(person){
return "Hello, " + person;
}
let user = "Aamod Tiwari";
const result = hello(user);
console.log("Result",result)
3. Abra el símbolo del sistema y escriba el siguiente comando
tsc helloward.ts
- De nuevo ejecuta el comando
nodo helloward.js
- El resultado se mostrará en la consola
Estos son algunos pasos para ejecutar el archivo mecanografiado desde el símbolo del sistema
1) Node.js debe instalarse; de lo contrario, es un requisito previo instalarlo.
2) mecanografiado debe estar instalado, si no, instálelo.
3) Compile el archivo de script de tipo en el símbolo del sistema
D: /> tsc demo.ts
4) Ejecute el archivo compilado demo.js en el símbolo del sistema
5) D: /> nodo demo.js