time: 2020.12.22
update: 2021-04-02 10:48:52
author: heyunjiang
通常我们项目开发,调试有如下三种方法
测试驱动开发(tdd | bdd) |
直接在 nodejs 代码中插入 debugger 是没有效果的,本文着重学习第二点,而 debug 又有三种方式
command shift D
进入调试模块,并通过配置项目项目的 launch.json 配置启动项目,即可使用编辑器自带的 nodejs 调试工具使用 node inspect node.js
启动,过程中使用如下命令输入
nodejs v8 检查器允许 chrome 开发者工具和 nodejs 实例相连,以便进行调试和性能分析。
node inspect hello.js
chrome://inspect
打开工具栏inspect
即可打开调试小窗口command shift D
launch.json
配置文件launch.json 环境变量
使用 vscode 调试模式,会在目标项目下生成 .vscode 目录,目录下有 launch.json 配置文件,描述的就是调试相关信息,这里学习分析一下。
基本格式如下(这里采用的是 npm 启动命令)
// npm 启动
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch via NPM",
"cwd": "${workspaceFolder}/",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"debug"
],
"args": [],
"port": 9229
}
]
}
// 对应目录的 package.json 配置
"scripts": {
"debug": "node inspect ./node_modules/@vue/cli-service/bin/vue-cli-service.js build",
"build": "vue-cli-service build",
},
参数分析
注意:
上面三种调试方法,都是需要指定调试的入口文件的。而我的 webpack 项目,是通过 npm 启动的,引用的 node_modules 下的 webpack 资源,这种情况应该怎么调试呢?
是否需要独立在 webpack 项目中启动调试模式?不需要
通常我们的项目是通过 npm 启动,比如 webpack
或 vue-cli-service build
,当前命令内部调用当前 node_modules 目录下对应的资源,如果我们想 在 npm 模式以调试模式启动,有2种方法
node inspect ./node_modules/@vue/cli-service/bin/vue-cli-service.js build
#!/usr/bin/env node inspect
2种方式都可以启动调试模式
狼叔:如何正确的学习Node.js
vscode launch.json 开发
nodejs 调试原理
vscode 官网调试 nodejs