Ejecutando tsc desde la línea de comando de Windows

npm está instalado y se está utilizando activamente desde IntelliJ IDEA 15

Mi objective es generar mecanografías para mi código fuente de TypeScript en IntelliJ, pero quiero aprender a usar la línea de comandos de Windows, por lo que puedo especificar explícitamente las opciones de línea de comandos a fin de entender qué hace cada opción. Estoy confundido por los diversos tidbits relacionados con la configuración y el uso que he encontrado en Google … Estoy seguro de que me estoy perdiendo algo muy básico que aquellos que escriben en el blog o responden a las preguntas asumen como de conocimiento común … .

Esto es lo que he intentado y lo que estoy viendo …

Paso 1 : instala el typescript:

npm install -g typescript

Esto hace que se instale la siguiente estructura de archivos / directorios en mi sistema:

 C:\Users\{my user id}\AppData\Roaming\npm\node_modules\typescript |---bin | |--- tsc | |--- tscserver |---lib | |--- lib.core.d.ts | |--- ... | |--- typescriptServices.js |--- .npmignore |--- ... |--- ThirdPartyNoticeText.txt 

Paso 2 : intente ingenuamente ejecutar tsc directamente desde la línea de comando de Windows:

Los ejemplos que he encontrado por Google toman la forma:

Comstackr un solo archivo:

tsc app.ts

el ejemplo anterior es de http://www.primordialcode.com/blog/post/typescript-command-line-compiler

Esto no funciona como se muestra porque:

  1. El directorio de instalación de tsc no se encuentra en la Path Windows C:\Users\{my user id}\AppData\Roaming\npm\node_modules\typescript\bin , obviamente esto se puede remediar o C:\Users\{my user id}\AppData\Roaming\npm\node_modules\typescript\bin fácilmente cambiando la variable de entorno Window PATH y / o calificar completamente la ruta al archivo tsc al ingresar el comando a ejecutar.

  2. Más significativamente, el archivo tsc no es un ejecutable de Windows … ¡el #! El script de Unix ( shebang ) es un sorteo muerto.

Inspeccionando el archivo tsc :

 #!/usr/bin/env node require('../lib/tsc.js') 

Paso 3 : intente ejecutar tsc desde el indicador de comandos del nodo:

C:\> node

> tsc

 ReferenceError: tsc is not defined at repl:1:1 at REPLServer.defaultEval (repl.js:252:27) at bound (domain.js:287:14) at REPLServer.runBound [as eval] (domain.js:300:12) at REPLServer. (repl.js:417:12) at emitOne (events.js:82:20) at REPLServer.emit (events.js:169:7) at REPLServer.Interface._onLine (readline.js:210:10) at REPLServer.Interface._line (readline.js:549:8) at REPLServer.Interface._ttyWrite (readline.js:826:14) ^C 

OK … vamos a especificar la ruta completa al script tsc :

C:\> node

> C:\Users\{my user id}\AppData\Roaming\npm\node_modules\typescript\bin\tsc

 ... 

literalmente, la única salida es ... cuando se especifica la ruta completa al script tsc … Supongo que quiere parámetros … pero al presionar la tecla tab aparece una lista de lo que parecen ser comandos de nodo (no comandos tsc ). .. así que no tengo idea de lo que está pasando aquí …

Ahora estoy atascado

¿Qué entorno necesito para instalar / configurar / usar para invocar tsc (como se ilustra en: http://www.primordialcode.com/blog/post/typescript-command-line-compiler )?

y / o

¿Existe algún tutorial o sitio que me ayude a pasar de un sistema Windows limpio a poder usar el comstackdor de TypeScript desde la línea de comandos para generar tipificaciones para mis archivos de origen de TypeScript?

No debe agregar la carpeta bin de TypeScript directamente a la PATH Windows. Como notó, los archivos en esa carpeta bin no son ejecutables directamente desde la línea de comandos.

En su lugar, npm crea un script .cmd para cada ejecutable configurado en un paquete instalado globalmente y lo coloca en:

 %APPDATA%\npm 

Intente actualizar su PATH para incluir esta carpeta, vuelva a abrir su línea de comandos e intente ejecutar tsc nuevamente.

Nota al margen: el instalador Node.js para Windows agrega de forma predeterminada Node y NPM a su ruta de Windows. Si ha instalado Node.js normalmente, esto debería haber funcionado bien. ¿Algo especial acerca de cómo ha configurado su nodo?