You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下VSCode配置Jasmine+Nodemon持续运行并调试

我来帮你搞定这个调试+自动测试的需求!你当前的脚本已经实现了文件变更时自动跑测试,但要在VS Code里设置断点调试,需要调整两个核心配置:package.json的脚本,以及VS Code的调试配置文件。

第一步:优化package.json的scripts

你现有的test脚本可以保留用于普通自动测试,再新增一个专门用于调试的脚本,用--inspect-brk替代--inspect——这个参数会让Node.js在启动时就暂停,确保VS Code的调试器能及时连上,不会错过断点。

修改后的scripts如下:

"scripts": {
  "test": ".\\node_modules\\.bin\\nodemon --ext js --exec ".\\node_modules\\.bin\\jasmine"",
  "test:debug": ".\\node_modules\\.bin\\nodemon --inspect-brk=9229 --ext js --exec ".\\node_modules\\.bin\\jasmine""
}
  • --inspect-brk=9229:指定调试端口为9229(Node.js默认调试端口),并在进程启动时暂停
  • 保留原test脚本,用于不需要调试的场景

第二步:配置VS Code的launch.json

要让VS Code能附加到nodemon启动的调试进程,需要创建/修改调试配置文件:

  1. 打开VS Code,按F5键,选择Node.js作为环境,自动生成.vscode/launch.json
  2. 将内容替换为以下配置:
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "attach",
      "name": "Attach to Jasmine Debug",
      "port": 9229,
      "restart": true,
      "skipFiles": [
        "<node_internals>/**"
      ]
    }
  ]
}

关键参数说明:

  • request: "attach":我们是要附加到已经启动的调试进程(由nodemon+--inspect-brk启动)
  • restart: true:nodemon会在文件变更时重启进程,这个选项让调试器自动重新附加,不用手动重复操作
  • port: 9229:必须和package.json脚本里指定的端口一致
  • skipFiles:跳过Node.js内部的核心文件,避免调试时进入无关代码

第三步:开始调试的操作流程

  1. 打开终端,运行npm run test:debug,终端会显示类似Debugger listening on ws://127.0.0.1:9229/xxxxxx的信息,此时进程处于暂停状态
  2. 在VS Code中打开你要调试的.spec.js测试文件,或者被测试的源文件,点击行号左侧设置断点(红点标记)
  3. 按F5启动VS Code调试,此时调试器会附加到nodemon的进程上,进程会继续执行,触发你设置的断点
  4. 当你修改代码或测试文件时,nodemon会自动重启测试进程,调试器会自动重新附加,断点依然会正常触发

额外小技巧

如果你只想调试某个特定的测试文件,可以修改test:debug脚本,指定具体的spec文件路径:

"test:debug": ".\\node_modules\\.bin\\nodemon --inspect-brk=9229 --ext js --exec ".\\node_modules\\.bin\\jasmine spec/your-target-spec.js""

这样每次只运行指定的测试文件,调试效率更高。

内容的提问来源于stack exchange,提问作者dvsoukup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:45:28