1、代码
>mkdir test & cd test
>npm init -y
>npm i koa koa-route --save
>touch app.js
app.js:
const Koa = require('koa');
const router = require('koa-route');
const app = new Koa();
const main = ctx => {
ctx.response.body = 'Hello World';
};
const welcome = (ctx, name) => {
ctx.response.body = 'Hello ' + name;
};
app.use(router.get('/', main));
app.use(router.get('/:name', welcome));
app.listen(3000);
console.log('listening on port 3000');
2、启动
>node --inspect app.js
或者
>node --inspect-brk=9239 app.js //默认端口9229,可指定端口启动多个
3、Chrome启动
1)
在Chrome浏览器里输入http://localhost://3000,打开Chrome开发者工具,点击绿色按钮。
2)
在浏览器中输入 chrome://inspect/
点击inspect按钮进入调试界面,点击source进界面,点击11边框,在对应的行打下断点。
在浏览器输入http://localhost:3000/account
左边的调试工具,执行跳出函数,在console窗口打印变量值Hello account。
4、忘记加参数--inspect
如果启动服务忘记加参数--inspect,可以通过以下方式启动
>node app.js
>ps aux |grep app.js
执行命令
>node -e 'process._debugProcess(935)' //其中935为进程号。
或者
>kill -SIGUSR1 935 //nodejs定义SIGUSR1信号陷入debug模式。常见信号
注意:通过pm2方式启动服务没有带--inspect也可以通过这种方式将服务陷入debug模式。
5、vscode调试
打开app.js文件,点击调试-->启动调试。服务会陷入debug模式,打断点,通过浏览器输入http://localhost:3000,程序在断点停止,然后通过调试工具调试即可。