简化的 eggjs debug

多年之前(大概Node.js@6.3版本之前)我们的调试方式,几乎如下三点:

console.log

debugger

node-inspector

虽然有时console.log也会用,但是我可能会使用一些更好的日志工具,以前的log4,现在的eggjs提供的logger,良好的日志分级,有助于提高查询问题的效率,如今,就直接使用eggjs提供的内置logger对象了。今天,我们主要是来说一说Debug的事情。调试几乎是每一个程序员必备的技能,而选择合适的调试就能极大的提高工作效率,由于Node.js@6.3版本之后已经内置了调试器,因此也可以和Chrome DevTools结合起来使用,于是node-inspector就这样退出了历史舞台。

node --inspect app.js

node --inspect-brk app.js

现在使用Chrome DevTools来调试Node.js,其实就跟之前移动端(H5)调试一样,非常简单和方便,解决了调试问题,在日常开发中绝对是一个很大的提高。目前,Chrome市场中有一些辅助工具,能帮你捕获Node.js启动的调试进程,来快速打开Chrome DevTools,你不妨在市场中找一找,说不定会有意外的收获。

这篇文章主要还是来说一说在vscode中如何来调试eggjs应用,官方团队提供了一个辅助插件来帮助我们配置vscode的调试器,https://github.com/eggjs/vscode-eggjs,我们安装即好。如果你有兴趣这里的原理,不妨去看一看vscode的文档,有专门讲述node.js调试器部分。(其实就是通信)

安装完成之后,你还需要写一个简单的配置,如下:

{

"name":"Launch Egg",

"type":"node",

"request":"launch",

"cwd":"$",

"runtimeExecutable":"npm",

"windows":{"runtimeExecutable":"npm.cmd"},

"runtimeArgs":["run","debug","--","--inspect-brk"],

"console":"integratedTerminal",

"protocol":"auto",

"restart":true,

"port":9229,

"autoAttachChildProcesses":true

}

然后可以在代码处,打上一个断点,启动调试器。

感谢eggjs团队提供了很简单的调试配置,几乎不用你来处理,就可以使用vscode来调试你的Web应用。

这几年Node.js生态提供了很多有趣的项目来完成Node.js从开发,调试,性能分析,到运维部署,自动化,都有很健壮性的项目来完成,对于Node.js来说,这是走向成熟,走向大规模应用的标志性阶段,但这不意味着前端工程师就能随意的切入,服务端的知识体系,还是一个与前端很不同的体系,不过,大家要是能沉下心来,持续学习,应该会有不错的收获。

你也可以关注我的新浪微博,搜索i_icepy,很期待和大家交流

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180326G0FWWA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券