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"
    },

Relaterade artiklar