我有一个用typescript编写的简单节点服务器。我的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 protected] 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 protected] 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
这就是输出的全部内容。脚本永远不会执行;服务器永远不会启动,并且检查器永远无法连接。
节点8.94
nodemon 1.15.1
ts-node 5.0.0
typescript 2.7.2
7条答案
按热度按时间5fjcxozz1#
在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
tktrz96b2#
提供检查选项的位置和端口,如:
laik7k3q3#
我使用上面的一些信息进行了更改,因为我的信息似乎不起作用,我所做的更改确实解决了问题。
从
"start": "tsnd --inspect -- src/app.local.ts"
至:
"start": "node --inspect -r ts-node/register src/app.local.ts"
2fjabf4q4#
我正在使用PHP Storm 和@user60456以前的答案对我来说就像一个魅力。
通过一些更改,我也可以在PHP Storm中使用dotenv运行多个env文件的调试模式。
package.json
其中local.ts是my app.listen() 所在的文件。
然后,我必须创建一个新的运行配置(附加到Node.js/Chrome),其中:
*host:localhost
*端口:9229
*Attach to:Chrome或Node.js > 6.3以--inspect启动
然后在本地文件的远程URL选项卡中选择根文件夹,将远程URL设置为**/usr/src/app**。
现在,您可以运行
npm run start:dev
。您将看到控制台输出:Debugger listening on ws://127.0.0.1:9229/...
你必须现在运行Nodej.js调试配置并等待,直到你看到控制台输出:
Debugger attached.
应用程序现在以调试模式运行。
qmelpv7a5#
我只是通过像这样编写nodemon.json文件来解决这个问题:
参考:https://dev.to/oieduardorabelo/nodejs-with-typescript-debug-inside-vscode-and-nodemon-23o7
oiopk7p56#
我有一个不同的问题,导致调试器从未运行。我正在运行这个命令,
与此相反,
标志应该在源文件之前。
fae0ux8s7#
在
package.json
中,更新脚本为:在
nodemon.json
中添加确保您的execMap
是requiring
ts-node/register
: