nodejs调试工具node-inspector入门随笔
最近打算玩玩node。
众所周知,在前端,调试代码有一众天然好工具——浏览器!特别是 chrome,使得 jser 们如鱼得水,玩得风生水起。但是到了node,情况就不一样了,js 代码不再运行在单纯的浏览器中,而是直接运行在操作系统里,摇身一变成为了一等公民。从此,这node下的js与浏览器就不再是难兄难弟分不开,而是牛郎与织女,中间隔着一条大银河!
几年前有同事使用nodejs写了一个邮件服务反向代理,做一些分发和细微处理。用户量不大也不小,但是经常crash。好在node事件机制比较完善,down掉之后能及时重启,所以用起来效果还挺不错。当时同事调试代码主要用node-webkit,我也试用过,挺不错!就好像在浏览器中调试一样,而且可以读写文件,做一等编程语言公民才能做的事,很开生!
最近看到有同事使用node-inspector调试,熟悉的界面,跟node-webkit差不多。不过我想既然有node-webkit了,又出个node-inspector,肯定有不一样的地方!抱着这样的好奇心,我开始了折腾node-inspector。
由于是用mac办公,电脑上有现成的node。只需要 homebrew install node-inspector,啪……不一会儿就装好了。node-inspector -v,啪!v.0.12.4。然后就是例行的hello world!,如下:
var http = require('http');
var port = 8080;
var fs = require('fs'); http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(port, '127.0.0.1'); console.log('Server running at http://127.0.0.1:' + port + '/');
感觉很不错,按说明,先执行
$ node-inspector
再执行
$ node --debug-brk server.js
按照上面执行 node-inspector 的说明,在浏览器中打开
http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858
执行调试。复制粘贴啪!GOOD!调试界面出来了,很顺利。
兴奋之余,不由自主地刷新了几次浏览器,一闪……一闪……一闪,终究是没有闪出来,页面一片空白!
很伤心!我觉得可能是端口被别的程序给占用了,用tcp命令查看,发现没有程序占用啊。打开浏览器开发工具,发现了几处错误,是跟RunTime……相关的问题,于是把错误复制狠狠google。果不其然,网上早已有同行在讨论这个错误了!
有的是把浏览器的一些个扩展禁用掉就好了
有的是把chrome用一些控制参数(太复杂也不知道怎么弄)启动就好
有的说node和node-inspector的版本不对
更有甚者,说homebrew安装的可能和npm安装的不同……
我一一试验,没有一个成功的。把同事电脑上的node-inspector拷贝过来,同样也不行。再后来我精疲力竭,就搁置了。
与这样好一个调试工具无缘,我是坚决不允许这种情况发生的!
于是今天晚上我又开始了折腾。重启几次之后,发现每次重启之后第一次在浏览器中打开是可以的,但是往后就不行。这一次,我是清醒的!于是我琢磨换个端口,有可能跟node-inspector的8080冲突了。于是我改成如下:
var http = require('http');
var port = 8000;
var fs = require('fs'); http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(port, '127.0.0.1'); console.log('Server running at http://127.0.0.1:' + port + '/');
停止sever再启动,刷新浏览器。第一次像往前一样是成功的,刷新,nice!总算成功了!暂时还不清楚深层次的原因,夜深了就改天再研究了!在这里记录下这一激动人心的时刻!
nodejs调试工具node-inspector入门随笔的更多相关文章
- 快捷使用Node Inspector调试NodeJS
一:介绍 NodeJS开发有很多种调试方式,比如输出Log.WebStorm自带的调试器.Node Inspector等,其中Node Inspector是比较流行和被推荐的一种. 但是Node In ...
- nodejs 使用Google浏览器进行可视化调试——Node Inspector工具
1.npm安装Node Inspector工具,全局安装 命令行执行npm install -g node-inspector 2.启动Node Inspector工具,命令行执行 node-insp ...
- Node.js 入门手册:那些最流行的 Web 开发框架
这篇文章与大家分享最流行的 Node.js Web 开发框架.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编 ...
- 让我们一起学习《Node.js入门》一书吧!
Node.js入门 读完本书之后,你将完成一个完整的web应用,该应用允许用户浏览页面以及上传文件. 里面对一些知识的讲解,让你略窥Node.js的门径.最好一段代码一段代码的写下来,我的习惯是手里拿 ...
- node-debug 三法三例之node debugger + node inspector
大家对nodejs调试应该都比较头疼,至少我这个不用IDE写js的人很头疼这个,其实node的生态圈非常好 有非常好的工具和非常潮的开发方式 这里总结了3法3例,希望能对大家有所帮助 文档地址 ht ...
- Node.js入门实例程序
在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...
- Node Inspector 代理实现
本文首发于 https://github.com/whxaxes/blog/issues/9 背景 平时做 node 开发的时候,通过 node inspector 来进行断点调试是一个很常用的 de ...
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件下载地址: ...
- Node.js 入门 资源
Node.js 入门 <快速搭建 Node.js 开发环境以及加速 npm> http://fengmk2.com/blog/2014/03/node-env-and-faster-npm ...
- 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...
随机推荐
- Cassandra1.2文档学习(8)—— 数据管理
数据参考:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_manage ...
- 要成为开发中最牛逼的测试,测试中最牛逼的开发。从今天起学python,写博客。--python基础学习(一)
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32Type & ...
- 用Cocos2d-x实现2D光线效果
2015.3.23优化修改,现在已经能达到稳定60帧了.. 本博客地址:http://www.cnblogs.com/wolfred7464/ 创意来自于:http://ncase.me/sight- ...
- Intel HEX file结构
https://en.wikipedia.org/wiki/Intel_HEX 1, Intel Hex每行的组成 开始标志+Byte数+地址+数据类型+数据+Checksum 2, 开始标志 冒号: ...
- 导入NGUI插件
在Unity编辑器顶部菜单栏中的Assets菜单中选择Import Package,然后选择Custom Package(自定义资源包),弹出资源路径窗口,在其中找到NGUI资源包所在的位置,单击”打 ...
- php分页类的二种调用方法(转载)
php分页类的二种调用方法 原文地址:http://www.xfcodes.com/php/fenye/25584.htm 导读:php分页类的二种调用用法,ajax调用php分页类,非ajax方式调 ...
- UVA 1160 X-Plosives
题意是一次装入物品,物品由两种元素组成,当遇到即将装入的物品与已经装入的物品形成k个物品,k种元素,跳过该物品的装入.可以将每种元素看成顶点,物品看成一条边.这样问题就转化为利用并查集求环的情况. 算 ...
- ANDROID_MARS学习笔记_S02_007_Animation第一种使用方式:代码
一.简介 二.代码1.xml(1)activity_main.xml <?xml version="1.0" encoding="utf-8"?> ...
- Macbook配置adb环境
配置adb命令 http://stackoverflow.com/questions/5526470/trying-to-add-adb-to-path-variable-osx http://sta ...
- S5P4418开发板使用要点
一.调试工具 1)USB 转串口驱动:用于驱动板子的串口板,电脑与板子进行调试串口通信2)量产软件 USB驱动安装:用于 NXUsbBurner_Ver1.0.6 软件镜像烧写(量产工具)3)调试工具 ...