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 ...
随机推荐
- WPF 控件
****ScrollViewer**** 前台: <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalSc ...
- Linux_Struct file()结构体
struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:struct file { /* * f ...
- Oracle控制文件丢失,日志文件丢失
控制文件丢失: alter database backup controlfile to traces; shutdown immediate; @j:\db\script\orcl_ora_ctl_ ...
- struts2 查 找总结
0:38 2013/5/25 查 找 * * |-_-查找全部 Action层的home方法中的查找方法创建时不需要带个查找对象的参数 service层不用组织条件 dao层一条查询所有的hql语句S ...
- JQ+AJAX实现多级联动
利用JQ与AJAX实现三级联动实现的效果: 当前两级改变时,后边一级或两级都会改变: 使用的数据库: html代码: <!doctype html> <html lang=" ...
- linux命令ps aux|grep xxx详解
对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令. 使用该命令 可以确定有哪些进程正在运 ...
- ASP.NET MVC 入门介绍 (上)
MVC模式 MVC模式是一种软件架构模式.它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller).MVC模式最早由Trygve Reenskaug在1974年提 ...
- edX Devstack 汉化(i18n)
操练了几日edx Devstack后,发现自己e文还是那么poor,如果和我一样,继续往下看,否则可以轻轻的飘过- 1.运行起 edx Devstack cd /devstack vagrant up ...
- H2O与Java线程同步
Java 5以前的线程同步采用syncronized和wait,notify,notifyAll来实现,比较粗糙.之后有了Lock和Condition.ReentrantLock的简单lock,unl ...
- MySQL 5.6数据库配置主从同步
win7环境下mysql主从搭建 我下载的是压缩包,免安装的那种 1.简单安装 解压后把my-default.ini复制一份改为my.ini默认mysql会找这个文件,首先从system32下找,然后 ...