Node.js ts节点开发人员在进行更改时未重新启动
这是我的档案: package.json:Node.js ts节点开发人员在进行更改时未重新启动,node.js,typescript,nodemon,tsc,ts-node,Node.js,Typescript,Nodemon,Tsc,Ts Node,这是我的档案: package.json: "scripts": { "generate-interfaces": "ts-node src/cli/generate-interfaces.ts", "dist": "npm run generate-interfaces && rm -rf dist && tsc && cp -r static/ d
"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"]
}
当我做任何更改时,我会得到一个小弹出窗口,但它实际上并没有重新启动服务器。我不确定我在这里做错了什么
注意:在服务器手动重启后,我第一次进行更改时,它会在终端中显示一个弹出窗口和类似的内容
[INFO]22:07:09 Restarting:src/analytics-engine.ts已被修改
,此后未检测到任何更改。问题现已解决。我使用--debug
发现问题,这是一个与“SIGTERM”相关的错误。因此,我在我的npm start
脚本中添加了一个标志--exit child
。我有类似的东西,使用ts节点开发和pino
当服务器启动时,会有一些日志记录到输出服务器init进程。当ts node dev重新启动dev服务器时,有时会抛出write:eppe
错误,我假设重新启动的服务器试图写入旧流
--exit child
标志似乎解决了这个问题