Nos ayuda a ahorrar mucho trabajo manual como transpilar archivo por archivo, indicar el target, etc.
Creando un archivo TSConfig.json
En la terminal, ubicándonos dentro del directorio en el que queremos que se cree el archivo, ejecutemos:
npx tsc --init
Nos creará automáticamente el archivo con propiedades básicas activadas:
Dentro del archivo TSConfig.json podemos ver que tiene muchas propiedades comentadas (desactivadas) y de las cuales solo algunas están activadas.
Compilación en TypeScript
Nuestro código TypeScript se transpilará según las propiedades indicadas en nuestro archivo `TSConfig.json``:
npx tsc
Compilación en tiempo real
Nos puede resultar tedioso estar ejecutando el comando anterior siempre después de escribir nuestro código. Para evitar esto, podemos hacer que el compilador esté detectando cada cambio que realicemos en nuestros archivos TypeScript y haga la transpilación de inmediato:
npx tsc --watch
Proyecto
Creemos el archivo TSConfig.json en nuestro proyecto
Activamos las siguientes propiedades dentro de dicho archivo:
outDir: indicando la carpeta dist como el directorio destino de los archivos transpilados
rootDir: indicamos que nuestros archivos TypeScript, los cuales serán “compilados” luego, estarán en la carpeta src
Creamos el archivo 02-demo2.ts dentro de la carpeta src con el siguiente código:
const numbers = [1,3,4];
Probemos la compilación de nuestros archivos:
npx tsc
Observaremos que los archivos transpilados se encuentran en nuestra carpeta dist.
Contribución creada por: Martín Álvarez.
Aportes 26
Preguntas 13
Ordenar por:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
Como resumen, el comando npx tsc --init inicializa un archivo tsconfig.ts. En este va estar la configuración como el target, ourDir, strictMode, etc. Evitándonos tener que poner esas flags en cada compilación.
.
Una vez con ese archivo, solo corremos el comando npx tsc y listo.
.
Y ya por ultimo, podemos evitarnos la compilación continua corriendo el comando npx tsc --watch
Si tu, como yo, no quieres tener una terminal abierta y constantemente estar cambiando entre ventanas para trabajar, puedes abrir la terminal de VSCode con “Ctrl + ñ” de este modo podrás ejecutar comandos con la terminal integrada sin necesidad de ventanas extra.
Con WebStorm de Jetbrains, se configura tanto el linter como el watch desde la configuración del IDE y funciona super bien, sin necesidad de consolas adicionales
## **Explorando el** `tsconfig.json` **en TypeScript**
En nuestras interacciones previas, hemos aprendido a usar TypeScript para transpilar archivos `.ts` a JavaScript, lo cual es esencial para que el código sea ejecutado por navegadores y Node.js. Sin embargo, este proceso puede resultar tedioso, especialmente en proyectos más grandes, donde es necesario gestionar múltiples configuraciones y archivos. Afortunadamente, TypeScript ofrece una solución eficiente a través del archivo de configuración `tsconfig.json`.
\- ¿Qué es el `tsconfig.json`?
El `tsconfig.json` es un archivo crucial que permite configurar cómo se transpilan los archivos TypeScript en un proyecto. Este archivo facilita la gestión de opciones de compilación, evitando la necesidad de especificar comandos y configuraciones de forma manual para cada archivo.
\- Creando el archivo `tsconfig.json`
Para generar un archivo `tsconfig.json` en la raíz de tu proyecto, simplemente ejecuta el siguiente comando en la terminal:
![](https://static.platzi.com/media/user_upload/image-04edf6b6-feb5-4c7b-b6c9-a3c14a49a3e6.jpg)
Este comando crea un archivo de configuración con ajustes predeterminados, similar al siguiente:
![](https://static.platzi.com/media/user_upload/image-b39ca707-1e2d-46ea-9fa2-c045ea71d12b.jpg)
\- Opciones clave en `tsconfig.json`
Al abrir el archivo `tsconfig.json`, verás una serie de opciones configurables. Algunas de las más relevantes incluyen:
* `target`: Define la versión de JavaScript a la que deseas transpilar tu código. Por ejemplo, puedes cambiarlo a `es2020` o `esnext` para aprovechar características más recientes de JavaScript.
* `module`: Especifica el sistema de módulos que se utilizará. Las opciones comunes son `commonjs`, `es6` o `amd`.
* `strict`: Si se establece en `true`, habilita todas las verificaciones de tipo estricto, lo que puede ayudar a detectar errores potenciales más rápidamente.
* `outDir`: Especifica la carpeta de salida para los archivos JavaScript transpilados. Deberás habilitar esta opción para organizar mejor tu proyecto.
* `rootDir`: Define el directorio raíz de los archivos TypeScript, permitiendo al compilador localizar los archivos a transpilar. Por lo general, se establece en `./src`.
Veremos el target:
![](https://static.platzi.com/media/user_upload/image-c18bdb5f-4ce9-4a36-aedd-07bcf1afe1e7.jpg)
### - **Configurando** `tsconfig.json`
Una vez creado el archivo, es recomendable habilitar y personalizar las opciones mencionadas. Por ejemplo, puedes agregar o modificar las siguientes líneas:
![](https://static.platzi.com/media/user_upload/image-00865219-63c9-4b7e-a6f4-4744734b41b2.jpg)
![](https://static.platzi.com/media/user_upload/image-515fa527-0f11-4222-9db5-04a57dd901f7.jpg)
Con estas configuraciones, el compilador sabe que debe colocar todos los archivos JavaScript transpilados en el directorio `dist`, mientras que los archivos TypeScript se encuentran en `src`.
### **- Ejecutando el Compilador**
Una vez configurado el `tsconfig.json`, puedes compilar tu proyecto ejecutando simplemente:
### ![](https://static.platzi.com/media/user_upload/image-fb277e1d-2a62-4820-b9fe-eda3146b35a2.jpg)
Este comando leerá la configuración y transpilará automáticamente todos los archivos `.ts` ubicados en el directorio especificado.
### **- Compilación en Tiempo Real**
Para mejorar aún más el flujo de trabajo, TypeScript permite la compilación en tiempo real. Esto es especialmente útil durante el desarrollo, ya que el compilador puede monitorear los cambios en los archivos y transpilar automáticamente. Para habilitar esta función, usa el siguiente comando:
![](https://static.platzi.com/media/user_upload/image-ff770ccf-5fd5-4336-bfe1-3c9fef5f2ebe.jpg)
Con esta opción, cada vez que realices un cambio en tu código TypeScript, el compilador lo detectará y generará el archivo JavaScript correspondiente sin necesidad de ejecutar manualmente el comando cada vez.
les comparto el \[link]\([TypeScript: TSConfig Reference - Docs on every TSConfig option (typescriptlang.org)](https://www.typescriptlang.org/tsconfig)) a la referencia de TSConfig en la documentación oficial
Con el comando `npx tsc` permite leer el archivo de configuración tsconfig.json para saber la configuración con la que debe transpilar los archivos TypeScript.
ES2016 aka ES7 is the version of ECMAScript corresponding to the year 2016. This version does not include as many new features as those that appeared in ES6 (2015). However, some useful features have been incorporated.
Veamos el TSConfig.json
Viste lo anterior, que es tedioso estar poniendo demasiadas veces las mismas opciones de compilación, por lo que podemos crear un archivo llamado tsconfig.json y poner las opciones de compilación ahí, de esta manera no tenemos que estar poniendo las opciones de compilación cada vez que queramos compilar nuestro código typescript.
Crear un archivo por defecto de configuración de typescript
$ npx tsc --init
Ahora ya no es necesario mandarle otro flag a la hora de compilar, ya que el compilador de typescript va a buscar el archivo tsconfig.json y va a tomar las opciones de compilación de ahí.
$ npx tsc
Para finalizar, cuando hacemos un cambio en nuestro código typescript, es tedioso estar compilando ese código muchas veces, para solucionar esto, podemos añadir como un “escuchador de cambios” a nuestro compilador de typescript, de esta manera cada vez que hagamos un cambio en nuestro código typescript, el compilador de typescript va a compilar automáticamente nuestro código typescript a javascript.
$ npx tsc --watch
Entrar al archivo tsconfig.json y descomentar outDir, luego add la ruta donde vamos a guardar los archivos compilados.
Descomentar rootDir y add la ruta donde estan los archivos .ts
Para compilar constantemente se utiliza –watch y se ejecuta de la siguiente manera:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?