大家对nodejs调试应该都比较头疼,至少我这个不用IDE写js的人很头疼这个,其实node的生态圈非常好 有非常好的工具和非常潮的开发方式 这里总结了3法3例,希望能对大家有所帮助
文档地址 http://i5ting.github.io/node-debug-tutorial
3种方法
- node debugger( 已发布视频,已更新gitpage上,需要下载 )
- node inspector( 已发布视频,已更新gitpage上,需要下载 )
- 测试驱动开发(todo)
3个例子
- hello world
- 继承例子
- express helloworld
希望能对大家有所帮助
欢迎关注我的公众号【node全栈】
很有用,感谢!
除了文档还有视频,赞!
@booxood 还有2个没有发布,继续fighting
新增node inspector( 已发布视频 ) 部分
很不错,赞
一直在用node webkit调试node.js
不知道lz的文章右边的树状列表是怎么实现的,比较感兴趣……
@i5ting 现在用WebStorm习惯了,非IDE感觉赶不上节奏了,眼花~~拙计
调试不是用WebStorm吗!?
那是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 哥,没马甲
iPad双击放大后
@jinceon 创建了一个issue,稍后解决 https://github.com/i5ting/i5ting_ztree_toc/issues/15
欢迎关注我的公众号【node全栈】
视频看不了。
@CommanderXL 我已经反馈他们了,稍后可以看了我再回复你
@CommanderXL 不好意思,他们服务器坏了,我已经把视频放到git pages上,缺点是需要下载才能播放
http://i5ting.github.io/nodejs-video/node-debug.mov http://i5ting.github.io/nodejs-video/node-inspector.mov
http://i5ting.github.io/nodejs-video/how-to-write-a-node-cli-tools-with-commander.mov http://i5ting.github.io/nodejs-video/gulp-gh-pages.mov
@i5ting 嗯。那我下载下来看。
直接用webstorm最好
mark,本来一直用webstorm
mark
这方面习惯不太好,mark
我一直不习惯用断点调试啊,感觉设置个断点让它在某一步停下来,观察情况,还不如直接在那里写个 console.log 把想要看的东西输出来。
@dd1994 console是第一个阶段,断点是第二阶段,tdd/bdd是第三阶段
@i5ting 好吧,我还是喜欢第一阶段和第三阶段结合使用 ~
@dd1994 第三阶段才是真正的高手,加油
mark
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,也没办法运行起来!
77
@i5ting 只能每次修改后重启?
mark
做了一点修改,新增2种模式,更全面一些
node inspector 和 node debugger 已经无法在 node 7.0 下正常编译了,https://github.com/node-inspector/v8-profiler/issues/98 如果你使用新版 electron 也会无法编译。感觉已经无人维护了。 最新版 node 支持 --inspect 选项,可配合 Chrome Canary 直接进行调试。
@chemzqm 感谢,看来只能放弃node inspector了
webstorm飘过 From Noder
刚刚要来看,发现既然已经不支持调试了,看来只能继续 console.log 了
@strawferry 扯什么淡,vscode支持所有方式调试,去看更新文档,对node-debug协议和node-inspect协议有对比说明