javascript - Köra Nodemon med Typescript-kompilering?
Jag vill att mina TypeScript-filer ska kompileras varje gång en fil sparas med kommandot tsc.
Hur kombinerar jag tsc-kommandot med kommandot som nodemon kör i build:live-scriptet
"scripts": {
"start": "npm run build:live",
"build:live": "nodemon --watch '*.ts' --exec 'ts-node' app.ts",
}
detta skript får nodemon att kalla på sig själv två eller tre gånger:
"build:live": "nodemon --watch '*.ts' --exec 'ts-node app.ts & tsc'",
Svar #1
Nodemon kommer nu automatiskt att upptäcka och köra .ts-filer med ts-node. Det kommer faktiskt även att köra .py- och .rb-filer med python och ruby förresten, och du kan ge det en anpassad --exec för andra. Här är en länk till den relevanta koden inom nodemon.
Så följande borde vara okej:
"scripts": {
"dev": "nodemon app.ts"
}
Svar #2
Det här ser ut att uppnå det du letar efter:
"start": "tsc-watch --project . --outDir ./dist --onSuccess \"nodemon ./dist/bin/www.js\""
Källa: https://github.com/Microsoft/TypeScript/issues/12996#issuecomment-349277673
Svar #3
Med det nuvarande svaret kan du stöta på problem när du använder ES-moduler. Ingen anledning att använda nodemon när du använder tsc-watch. Det använder inkrementell kompilering, vilket gör omstarten av din applikation mycket snabbare.
Jag fann att följande fungerade bäst:
"start": "tsc-watch --onSuccess \"node ./dist/app.js\""
outDir kan definieras i din tsconfig
