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的门径.最好一段代码一段代码的写下来,我的习惯是手里拿 ...
随机推荐
- poj1716 Integer Intervals(差分约束)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Integer Intervals Time Limit: 1000MS Me ...
- poj 3177
第一道双联通的题目,求加几条边让原图成一个双联通图,求出度数为1的双联通分量的个数+1/2. Low[u]为u或u的子树中能通过非父子边追溯到的最早的节点,即DFS序号最小的节点的序号 #includ ...
- Android方法的传递值及其改变
MainActivity如下: package cn.testchangevar; import android.os.Bundle; import android.view.View; import ...
- jquery.ajax和Ajax 获取数据
前几天接触了jquery 看到里面ajax的部分,自己也不是很懂,然后有重复看了即便,然后写了一个小功能,分享下...我刚学的.有错误的请指教. 验证用户名是否存在 在checkname_jqajax ...
- js 对日期加减
function getDate(days) { var now = new Date(), newDate = new Date(now.getTime() - 86400000 * days), ...
- ASP.NET MVC 4.0 学习2-留言板實現
新增專案實現留言板功能,瞭解MVC的運行機制 1,新增專案 2,添加數據庫文件message.mdf Ctrl+W,L 打開資料庫連接,添加存放留言的Atricle表 添加字段,後點擊&quo ...
- C# sql Helper
using System; using System.Collections; using System.Collections.Generic; using System.Configuration ...
- OpenCV在ARM上的移植
OpenCV在ARM上的移植 与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方 ...
- cc150 Chapter 2 | Linked Lists 2.5 add two integer LinkedList, return LinkedList as a sum
2.5 You have two numbers represented by a linked list, where each node contains a single digit. The ...
- 网站SEO优化中内部链接的优化
重要性:内链有效的优化能够间接的提高某页面的权重达到搜索排名靠前的效果.同时有效的带领搜索引擎蜘蛛对整站进行抓取. 网站头部导航: 这个导航称为'网站主导航',当用户来到网站需要给他们看到的内容.也就 ...