node.js入门(三)调式
1、安装调式工具
打开命令行工具,输入以下内容,然后回车。
npm install -g node-inspector
等待安装成功呢后,我们就可以使用
node-debug 文件名
这个命令来调式我们的node程序了。
2、开始调式
假如当前目录下有这么一段名叫hello.js的源码
//载入http模块
var http = require('http');
//构建一个http服务器
var server = http.createServer(function(request,response){
response.writeHead(200,{'Content-Type':'text/plain'});
response.write('Hello World!');
response.end();
});
//启动http服务器,并开始侦听3000端口号
server.listen(3000);
//在控制台打印日志
console.log('Server running at http://127.0.0.1:3000');
我们输入如下命令
node-debug hello.js


3、简单说明
程序自动暂停在module.js这个文件内,这个文件是node.js的库文件。我们点一下左边的hello.js

在中间就显示了hello.js的源码,我们在行号上点一下就可以加入断点了,再点一下调式命令面板中的最左变的按钮或者按F8就可以让程序继续执行,之后程序就在我们设置的断点停下来,再按F10就可以单步运行调式。
当程序暂停后,可以把鼠标放到变量上,会直接显示变量的内容。

比如上图,将鼠标放到“__filename”,会显示“E:\\DevApp\nodejs\test\helo.js”,也就是我们要调式的源码文件。
4、额外说明
当node.js执行我们写的模块(hello.js)时,会自动的把我们的源码加载到一个匿名函数中
(function (exports, require, module, __filename, __dirname) {
//我们写的源码将被载入到这里
});
像我们程序中用到的 require函数,其实就是这个匿名函数的第二个参数,其他的参数我们在后续的文章会讲到。
node.js入门(三)调式的更多相关文章
- Node.js入门实例程序
在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...
- 极简 Node.js 入门 - 1.4 NPM & package.json
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 2.2 事件
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 3.2 文件读取
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 4.2 初识 stream
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 4.4 可写流
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 4.5 双工流
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- Node.js 入门手册:那些最流行的 Web 开发框架
这篇文章与大家分享最流行的 Node.js Web 开发框架.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编 ...
- 【特别推荐】Node.js 入门教程和学习资源汇总
这篇文章与大家分享一批很有用的 Node.js 入门教程和学习资源.Node 是一个服务器端的 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用 ...
- 让我们一起学习《Node.js入门》一书吧!
Node.js入门 读完本书之后,你将完成一个完整的web应用,该应用允许用户浏览页面以及上传文件. 里面对一些知识的讲解,让你略窥Node.js的门径.最好一段代码一段代码的写下来,我的习惯是手里拿 ...
随机推荐
- HDU 5815 - Golden Week
题意: 王国地图为 n 个节点的根树,首都为 1, m 个旅行家要去不同的终点旅游,他们分别有各自的预算,如果路上总费用超过预算就不去了 给每条路定价, 让赚的钱最多 分析: DP[i][j]表 ...
- socket原理详解
1.什么是socket 我们知道进程通信的方法有管道.命名管道.信号.消息队列.共享内存.信号量,这些方法都要求通信的两个进程位于同一个主机.但是如果通信双方不在同一个主机又该如何进行通信呢?在计算机 ...
- python多线程抓取网页信息
#!/usr/env python #-*- coding: utf-8 -*- import urllib import urllib2 import random import requ ...
- JQuery validator扩展
//validator 扩展 jQuery.validator.addMethod("mail", function(value, element, messages) { ret ...
- AngularJs directive 'transclude' option 详解
transclude好像不是一个英语单词,有道词典里没有,百度翻译的意思是嵌入. transclude在angularjs的自定义的derective中是比较常见的一个东西,所有有必要要了解它. 我们 ...
- jQuery 改变Form 指向的 Action
var path = "shiftCancelAction"; $('#queryForm').attr("action",path).submit();
- Glide 加载图片背景变绿
解决方案: Glide.with(mContext).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(imageView);
- python 连接操作数据库(一)
一.下面我们所说的就是连接mysql的应用: 1.其实在python中连接操作mysql的模块有多个,在这里我只给大家演示pymysql这一个模块(其实我是感觉它比较好用而已): pymysql是第三 ...
- pyspider安装后,点击run,报pyhton has stop working或python已停止运行的错误
问题解决虽然只有几句话,但是背后花了一天时间,各种FQ搜索. pyspider目测只支持32位的系统,所以你下载32位的python安装就行了,然后安装pyspider运行就没有问题了,坑爹啊---- ...
- LinqToSql 小例子
namespace LinqToSqlDemo.Test { class Program { // 数据连接文本 private static DataClasses1DataContext data ...