node.js - 為什麼當我使用 nodemon 和 ts-node 時,node 檢查器無法啟動?
我有一個用 TypeScript 編寫的簡單 Node 伺服器。我的 package.json 配置如下:
"scripts": {
"build": "tsc",
"dev": "nodemon --watch src/**/* -e ts,json --exec ts-node ./src/server.ts",
"debug": "nodemon --verbose --watch src/**/* -e ts,json --exec ts-node --inspect ./src/server.ts"
},
當我執行 npm run dev 時,nodemon 會啟動伺服器,並在任何變更發生時重新啟動它。
[02/28/18 20:45:53] npm run dev
> [email dev C:\Users\joe\pq\pq-api
> nodemon --watch src/**/* -e ts,json --exec ts-node ./src/server.ts
[nodemon] 1.15.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: src/**/*
[nodemon] starting `ts-node ./src/server.ts`
initializing config to development
info: PQ-API running on port 3000
然而,當我運行 npm run debug(以便我可以附加調試器)時,它看起來開始啟動,但就是無限掛起
[02/28/18 20:39:30] npm run debug
> [email debug C:\Users\joe\pq\pq-api
> nodemon --verbose --watch src/**/* -e ts,json --exec ts-node --inspect ./src/server.ts
[nodemon] 1.15.1
[nodemon] to restart at any time, enter `rs`
[nodemon] or send SIGHUP to 10156 to restart
[nodemon] watching: src/**/*
[nodemon] watching extensions: ts,json
[nodemon] starting `ts-node --inspect ./src/server.ts`
[nodemon] spawning
[nodemon] child pid: 13344
[nodemon] watching 12 files
那就是所有輸出的內容。腳本從未被執行;伺服器從未啟動,檢查器也從未可用以供連接。
node 8.94
nodemon 1.15.1
ts-node 5.0.0
typescript 2.7.2
答案#1
在 ts-node 5.0.0 中,你不再以相同的方式傳遞 --inspect flag。建議的方式是 node --inspect -r ts-node/register path/to/ts。例如:
nodemon --watch src/**/* -e ts,json --exec node --inspect-brk -r ts-node/register src/app.ts請參見 https://github.com/TypeStrong/ts-node/issues/537
答案#2
我使用上面的一些資訊進行了修改,因為我自己的方法似乎不起作用,而我所做的更改確實解決了問題。
從 "start": "tsnd --inspect -- src/app.local.ts"
到: "start": "node --inspect -r ts-node/register src/app.local.ts"