精华 node-debug 三法三例之node debugger + node inspector
发布于 10 年前 作者 i5ting 38857 次浏览 最后一次编辑是 8 年前 来自 分享

大家对nodejs调试应该都比较头疼,至少我这个不用IDE写js的人很头疼这个,其实node的生态圈非常好 有非常好的工具和非常潮的开发方式 这里总结了3法3例,希望能对大家有所帮助

文档地址 http://i5ting.github.io/node-debug-tutorial

Screen Shot 2014-11-17 at 1.34.28 PM.png

3种方法

3个例子

  • hello world
  • 继承例子
  • express helloworld

希望能对大家有所帮助

欢迎关注我的公众号【node全栈】 node全栈.png

53 回复

很有用,感谢!

除了文档还有视频,赞!

@booxood 还有2个没有发布,继续fighting

@think2011 @booxood

新增node inspector( 已发布视频 ) 部分

很不错,赞

一直在用node webkit调试node.js

不知道lz的文章右边的树状列表是怎么实现的,比较感兴趣……

@i5ting 现在用WebStorm习惯了,非IDE感觉赶不上节奏了,眼花~~拙计

调试不是用WebStorm吗!?

@DevinXian @Icego

那是ide提供的功能,原理你了解么?

ide智能的代价是比较大,比如

  • 遇到什么东西都不用记,反正一个快捷键就出来
  • 这函数不用记,记个首字母就知道了,但是你比较过相似函数的差别么?总有中招的时候
  • 不记,基本上思考的可能的就小,相比较的可能性会更小
  • 记忆力随着年龄而下降。。。十年后,二十年后。。。。。还记得你当初用的那个ide叫啥么?就那图标。。。。

自己取舍吧

看你怎么用 IDE,把它当成依赖,还是当成解决每天 repeat yourself 的便利。

好奇害死喵,原来是夫妻店啊,哈哈

@i5ting 用不用ide是个哲学问题,用什么ide是个现实问题 ,哈哈,just for fun

@dayuoba 建议而已,这样对了解api更有益处,不能太懒了

@chapgaga 施主真是八卦啊

话说我一直都是console.log的。。。。。。。。。。。囧

@soliury 恭喜你,你已经基本功很扎实了了

@i5ting 额,那个喵好像叫peter,不是你马甲?

@i5ting 你现在主要也用console调试么?

收藏下 自豪地采用 CNodeJS ionic

@chapgaga 做模型校验用mocha,比如request请求等逻辑调试用inspector

@chapgaga 哥,没马甲

image.jpg

iPad双击放大后

欢迎关注我的公众号【node全栈】 node全栈.png

视频看不了。

@CommanderXL 我已经反馈他们了,稍后可以看了我再回复你

@i5ting 嗯。那我下载下来看。

直接用webstorm最好

mark,本来一直用webstorm

这方面习惯不太好,mark

我一直不习惯用断点调试啊,感觉设置个断点让它在某一步停下来,观察情况,还不如直接在那里写个 console.log 把想要看的东西输出来。

@dd1994 console是第一个阶段,断点是第二阶段,tdd/bdd是第三阶段

@i5ting 好吧,我还是喜欢第一阶段和第三阶段结合使用 ~

@dd1994 第三阶段才是真正的高手,加油

TDD好啊TDD好。我比较喜欢用TDD+console。

如何在vscode debug nodejs的时候使用nodemon?

“scripts”: { “dev”: "nodemon -w src --exec “babel-node src --presets es2015,stage-0"” },

然后运行npm run dev,浏览器就可以访问项目了

launch.json 配置如下

{ “name”: “附加”, “type”: “node”, “request”: “attach”, “port”: 8080, “address”: “localhost”, “restart”: false, “sourceMaps”: false, “outDir”: null, “localRoot”: “${workspaceRoot}”, “remoteRoot”: null },

然后点击vscode上的运行按钮,运行起来了,但是这个运行按钮的框在不停的跳动,浏览器访问也走不到断点,运行launch 按钮的时候是可以debug的。这是为啥呢? 官网上说的也不够明确,看了一遍文章nodemon_vscode,也没办法运行起来!

@wesky123 @cike8899 不能nodemon或supervisor

来自酷炫的 CNodeMD

@i5ting 只能每次修改后重启?

Screen Shot 2016-12-26 at 4.53.33 PM.png

做了一点修改,新增2种模式,更全面一些

地址不变 http://i5ting.github.io/node-debug-tutorial/

node inspector 和 node debugger 已经无法在 node 7.0 下正常编译了,https://github.com/node-inspector/v8-profiler/issues/98 如果你使用新版 electron 也会无法编译。感觉已经无人维护了。 最新版 node 支持 --inspect 选项,可配合 Chrome Canary 直接进行调试。

webstorm飘过 From Noder

刚刚要来看,发现既然已经不支持调试了,看来只能继续 console.log 了

@strawferry 扯什么淡,vscode支持所有方式调试,去看更新文档,对node-debug协议和node-inspect协议有对比说明

回到顶部