Búsqueda de sitios web

javascript - ¿Ejecutar Nodemon con compilación de Typescript?


Quiero que mis archivos de TypeScript se compilen cada vez que se guarde un archivo con el comando tsc.

¿Cómo combino el comando tsc con el comando que nodemon ejecuta en el script build:live?

"scripts": {
    "start": "npm run build:live",
    "build:live": "nodemon --watch '*.ts' --exec 'ts-node' app.ts",
 }

este script hace que nodemon se llame a sí mismo dos o tres veces:

"build:live": "nodemon --watch '*.ts' --exec 'ts-node app.ts & tsc'",

Respuesta #1

Nodemon detectará y ejecutará archivos .ts con ts-node automáticamente ahora. De hecho, también ejecutará archivos .py y .rb con python y ruby, y puedes darle un --exec personalizado para otros. Aquí hay un enlace al código relevante dentro de nodemon.

Así que lo siguiente debería estar bien:

"scripts": {
  "dev": "nodemon app.ts"
}

Respuesta #2

Esto parece que logrará lo que estás buscando:

"start": "tsc-watch --project . --outDir ./dist --onSuccess \"nodemon ./dist/bin/www.js\""

Fuente: https://github.com/Microsoft/TypeScript/issues/12996#issuecomment-349277673

Respuesta #3

Con la respuesta actual podrías tener problemas al usar módulos ES. No hay necesidad de nodemon cuando estás usando tsc-watch. Hace uso de la compilación incremental, lo que hace que el reinicio de tu aplicación sea mucho más rápido.

Encontré que lo siguiente funciona mejor:

"start": "tsc-watch --onSuccess \"node ./dist/app.js\""

El outDir se puede definir en tu tsconfig

Artículos relacionados