node.js - ts-node-dev startar inte om när ändringar görs
Här är mina filer:
package.json :
"scripts": {
"generate-interfaces": "ts-node src/cli/generate-interfaces.ts",
"dist": "npm run generate-interfaces && rm -rf dist && tsc && cp -r static/ dist/ && cp -r resource/ dist/",
"prestart": "npm run generate-interfaces",
"start": "ts-node-dev --respawn --transpileOnly --no-notify ./src/index.ts",
"start:inspect": "ts-node-dev --no-deps --inspect -- ./src/index.ts",
"pretest": "npm run generate-interfaces",
"test": "jest"
}
tsconfig.json
{
"compilerOptions": {
"declaration": true,
"target": "es2017",
"module": "commonjs",
"esModuleInterop": true,
"outDir": "dist",
"sourceMap": true,
"skipLibCheck": true,
"typeRoots": ["node_modules/@types", "./typings", "node_modules/**/*.d.ts"],
"lib": ["esnext"]
},
"include": ["src/**/*.ts", "./typings/**/*.d.ts"],
"exclude": ["node_modules/**", "dist"]
}
När jag gör några ändringar får jag den lilla popupen, men den startar inte faktiskt om servern. Jag är inte säker på vad jag gör fel här.
Obs: Första gången jag gör ändringar efter serveromstart manuellt visas ett popup-fönster och något som detta i terminalen [INFO] 22:07:09 Restarting: src/analytics-engine.ts har ändrats efter det ingen ändringsdetektion.
Svar #1
Problemet är löst nu. Jag upptäckte problemet med hjälp av --debug att det var ett fel relaterat till 'SIGTERM'. Så jag lade till en flagga --exit-child i mitt npm start-skript.
Svar #2
--exit-child fungerade för mig också.
Exempel i package.json
"scripts": {
"start": "ts-node-dev --respawn --transpile-only --exit-child --watch src src/index.ts"
},
