【问题标题】:How to run Nodemon with TypeScript in debug mode in WebStorm如何在 WebStorm 的调试模式下使用 TypeScript 运行 Nodemon
【发布时间】:2021-04-09 21:14:24
【问题描述】:

我有一个非常基本的使用 NodeJS/Express + Nodemon 的 Express 服务器设置。我使用 WebStorm 作为我的 IDE。

运行调试/检查脚本时,我的应用程序抛出编译时错误。按照here 的说明,并了解帖子here,我的(简化)package.json 看起来像这样:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon src/app.ts",
    "debug": "nodemon --inspect=127.0.0.1:9229 src/app.ts"
  },
"devDependencies": {
    "@types/express": "^4.17.9",
    "@types/node": "^14.14.19",
    "nodemon": "^2.0.6",
    "ts-node": "^9.1.1",
    "typescript": "^4.1.3"
  }

当我运行 npm run debug 时,我收到以下错误:

我也尝试了以下方法,结果都一样:

  • "debug": "nodemon --inspect src/app.ts"
  • "debug": "nodemon --inspect=0.0.0.0:9229 src/app.ts"

任何想法为什么会发生此错误?

命令npm run dev 不会产生错误。经过进一步调查,nodemon 在定位 .ts 文件时会自动替换 ts-node。 ts-node,反过来recommends通过注册ts-node并使用node命令运行服务器进行调试。

如果您需要使用高级 node.js CLI 参数(例如 --inspect), 将它们与 node -r ts-node/register 一起使用,而不是 ts-node CLI。

【问题讨论】:

    标签: node.js webstorm nodemon ts-node


    【解决方案1】:

    您可以按如下方式修改您的脚本:

    "debug": "nodemon --exec \"node --inspect-brk=0.0.0.0:9229 --require ts-node/register src/app.ts\""
    

    确保将--inspect-brk 传递给Node.js 而不是ts-node

    【讨论】:

    • 谢谢!我希望你们能把它放到你的核心文档中!
    • 我不完全理解--exec,你也可以把它放在一个nodemon.json文件中吗?如果您可以在其中添加更多文本以提供有关此处发生的事情的更多信息,那就太好了。
    • 只是来这里说声谢谢
    猜你喜欢
    • 2015-12-21
    • 2013-10-11
    • 2019-07-12
    • 2018-07-12
    • 2020-01-19
    • 2021-10-10
    • 2013-03-05
    • 2020-06-07
    • 2018-02-21
    相关资源
    最近更新 更多