typescript - example - restart node js
¿Hay alguna forma de usar los scripts npm para ejecutar tsc-watch && nodemon--watch? (5)
Creo que lo que quieres es algo como esto (mi configuración actual):
"scripts": {
"compile": "tsc && node app.js",
"dev": "./node_modules/nodemon/bin/nodemon.js -e ts --exec /"npm run compile/""
}
He creado dos scripts "compilar" y "dev". Para comenzar a desarrollar, simplemente ejecute npm run dev
que inicia nodemon y lo hace ver los archivos .ts (usando la marca -e
). Luego, cada vez que un archivo .ts cambie, nodemon ejecutará la tarea de compilación que básicamente compila y ejecuta la aplicación de nodo.
Si bien el uso simultáneo es una buena opción, mi configuración garantiza que el trabajo de tsc
se realice antes de intentar ejecutar los archivos .js resultantes.
Estoy buscando una manera de usar los scripts npm para ejecutar tsc --watch && nodemon --watch
al mismo tiempo. Puedo ejecutar estos comandos de forma independiente, pero cuando quiero ejecutar ambos, solo se ejecuta el primero. p.ej. si tengo este script:
"scripts": {
"runDeb": "set NODE_ENV=development&& tsc --watch && nodemon --watch"
}
tsc --watch
se ejecuta pero nunca se llama a nodemon
, y viceversa.
He estado usando la solución de AlterX por un tiempo y ha funcionado perfectamente, pero he encontrado que es bastante lento. En su lugar, ahora estoy usando tsc-watch . Hace que tsc use la compilación incremental similar a la -w
, lo que hace que el reinicio de la aplicación sea mucho más rápido.
Es tan fácil como poner algo similar a esto en tu package.json:
"scripts": {
"start": "tsc-watch --onSuccess /"node ./""
}
Intenta agregar esto a tu package.json:
"scripts": {
"start": "concurrently --kill-others /"tsc -w/" /"nodemon dist/app.js/"",
}
Y también agregue estos paquetes npm (concurrentemente, nodemon, typescript) a su package.json:
"devDependencies": {
"concurrently": "^2.2.0",
"typescript": "^1.8.10",
"nodemon": "^1.9.2",
}
La compilación normal es: si el nombre del archivo es main.ts
paso 1: tsc main.ts
paso 2: nodo main.js
Compilación simple y única (loop):
tsc principal - reloj
Mi solución en octubre de 2018 utilizando las últimas versiones de nodemon .
primero:
instalar nodemon
( npm install nodemon --save-dev
) y ts-node
( npm install ts-node --save-dev
)
segundo:
Crea un nodemon.json
. Me gusta mantener mi configuración de nodemon en un seperat nodemon.json para hacer que los scripts de npm sean un poco más fáciles de leer. Así que cree nodemon.json
en la raíz del proyecto con el siguiente contenido:
{
"ignore": ["**/*.test.ts", "**/*.spec.ts", ".git", "node_modules"],
"watch": ["src"], // your .ts src folder
"exec": "npm start", // your npm script created in package.json
"ext": "ts"
}
luego crea tu npm start
por ejemplo, así
"scripts": {
...
"start": "ts-node src/server.ts",
"dev:ts": "nodemon",
...
}
A continuación, ejecute npm run dev:ts
o yarn dev:ts
y ejecute el código de su servidor mecanografiado.
Para más configuraciones como pruebas de unidades Jest
, etc ... puedes echar un vistazo a this artículo