Node.js TypeScript项目调试报错:未知选项--inspect如何解决?
解决TypeScript Node项目调试脚本的--inspect报错问题
你遇到的报错是因为--inspect是Node.js的原生命令行参数,并非ts-node的可用参数,直接传递给ts-node会导致识别失败。以下是几种可行的解决方法:
方法1:通过Node直接启动并加载ts-node钩子
这是最稳妥的方式,让Node.js接收--inspect参数,同时通过--require加载ts-node的注册器来处理TypeScript文件:
"debug": "node --inspect --require ts-node/register index.ts"
如果希望调试在代码启动时就暂停(方便设置初始断点),可以替换为--inspect-brk:
"debug": "node --inspect-brk --require ts-node/register index.ts"
方法2:使用ts-node的--node-args传递参数给Node
ts-node提供了--node-args选项,用于将参数传递给底层的Node.js进程,写法如下:
"debug": "ts-node --node-args='--inspect' index.ts"
同样,如需启动时暂停,将--inspect替换为--inspect-brk即可。
方法3:升级ts-node到支持直接传递inspect参数的版本
如果你的ts-node版本较低,可能不支持直接使用--inspect参数。升级到较新版本(v10+)后,可以直接使用:
"debug": "ts-node --inspect index.ts"
不过推荐优先使用前两种方法,兼容性更好。
验证方式
修改完package.json后,运行npm run debug,即可在Chrome DevTools(chrome://inspect)或VS Code等调试工具中连接到Node调试会话,正常调试TypeScript代码。
内容的提问来源于stack exchange,提问作者Rupali Singh
相关产品推荐
相关产品推荐

