命令式

  1. 在node命令中node --inspect 模块名 ,执行此命令后,node进程会监听9299窗口

image.png

  1. 配置这个命令参数以后,浏览器的调试框中会出现一个新的调试工具

image.png

  1. 点击之后,就会弹出一个专门调试nodejs调试窗口,可以像调试js一样调试nodejs

image.png

vscode中调试

image.png

  1. 点击调试,创建一个调试的launch.json文件
  1. {
  2. // 使用 IntelliSense 了解相关属性。
  3. // 悬停以查看现有属性的描述。
  4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. {
  8. "type": "pwa-node",
  9. "request": "launch", // 默认这个地方是让vscode直接启动,我门不需要这样的方式,我门需要让vscod附加到进程,进行调试
  10. "name": "Launch Program",
  11. "skipFiles": [
  12. "<node_internals>/**"
  13. ],
  14. "program": "${workspaceFolder}/src/api/admin.ts",
  15. "preLaunchTask": "tsc: build - tsconfig.json",
  16. "outFiles": [
  17. "${workspaceFolder}/build/**/*.js"
  18. ]
  19. }
  20. ]
  21. }
  1. 修改为,保存

    1. {
    2. // 使用 IntelliSense 了解相关属性。
    3. // 悬停以查看现有属性的描述。
    4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    5. "version": "0.2.0",
    6. "configurations": [
    7. {
    8. "type": "node", // 调试node
    9. "request": "attach", // 附加进程 的方式
    10. "name": "调试node", // 调试的名字
    11. "port": 9229, // 调试的端口号
    12. "skipFiles": [
    13. "<node_internals>/**" // 不需要调试的问题件,默认是node的内模块
    14. ],
    15. "program": "${workspaceFolder}/index.js" //调试的项目
    16. }
    17. ]
    18. }
  2. 启动调试,就可以像调试js一样调试

image.png

  1. 断开调试

image.png