readline模块和fs模块制作的文件内容查找程序

 2015年06月30日    740
readline模块和fs模块制作的文件内容查找程序

使用Node.js原生readline模块和fs模块制作的文件内容查找程序,可用于文本文件内容的查找,例如:在网站日志中查找指定内容等。本程序通过控制台与用户进行简单交互,用户可根据提示输入查询内容,查询完成后用户可根据提示进行下一步查询或退出程序。程序通过readline模块与用户进行交互及逐行查找,使用fs模块创建文件可读流。

阅读全文

Node.js异步异常处理模块domain的相关介绍

 2015年06月29日    579

Node.js的domain模块可以捕捉处理try catch无法捕捉的,回调函数中的异步异常,这对于提高Node.js程序的健壮性有很大帮助。上篇介绍了使用domain模块捕获Node.js异步异常的基本用法,本将结合domain模块API做进一步介绍。

阅读全文

用domain模块进行Node.js异步异常捕获处理

 2015年06月28日    772

对于一般的错误可以用try catch进行异常捕捉处理,但是try catch无法捕捉到Node.js异步回调函数中的异常,这会对程序的健壮性造成一定影响,回调函数中的异常可能导致Node进程的结束。对于回调函数中的异常,可以使用Node.js的domain模块进行捕捉处理。注册到domain中的事件组,在出现错误或抛出异常时,会被通知到domain对象中而不是直接被process.on('uncaughtException')处理,因此也不会导致进程退出。

阅读全文

使用Node.js的断言模块assert进行单元测试

 2015年06月27日    1467

单元测试对于及早发现代码问题、定位问题,有其它测试不可替代的作用。做好单元测试在代码的可维护性、代码重构及后期功能扩展方面,都有极重要的意义。对于Node.js来说,有很多第三方自动化测试模块,如:mocha。本文主要介绍,Node.js提供的编写单元测试用例的模块,assert断言模块。

阅读全文

使用Node.js自带的V8调试器调试Node程序

 2015年06月25日    1006

Node程序的调试不太容易,Node没有专用的调试程序,但Node使用的V8引擎提供了一个强大的调试器,可以通过 TCP 协议从外部访问。Node内置了这个调试器的客户端,可以方便的对Node程序进行断点、跟踪等调试。

阅读全文

Node.js的Punycode编码模块

 2015年06月24日    943

Punycode是一种表示Unicode码和ASCII码的有限字符集,主要用于国际化域名IDNs(Internationalized Domain Names)。Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把域名从地方语言所采用的Unicode或ASCII编码转换成为可用于DNS系统的编码(26个字母、10个数字和“-”)。Punycode模块是一个遵循RFC 3492 和 RFC 5891标准备的Punycode编码模块,可以在所有JavaScript平台使用。Node.js自v0.6.2+开始内置Punycode编码,要在低版本中使用需要npm安装。

阅读全文

使用OS模块查看操作系统信息

 2015年06月23日    889

在Node.js核心模块中的os模块,提供了一些基本的操作系统相关函数。你可以使用 require('os') 来调用这个模块。利用这个模块,你可以查看操作系统相关信息,如:操作系统的主机名、操作系统类型等;还可以查看系统硬件相关信息,如:CPU信息、系统内存信息等。

阅读全文

Node.js中的Global全局对象

 2015年06月22日    1045

全局对象是指在所有模块中都是可以使用的对象,在Node.js中虽然有些对象在所有模块中都可使用,但其作用域只在当前模块。在浏览器环境中,顶级作用域就是全局作用域,通过var在全局作用域内定义一个变量,将会是一个全局变量。在Node中则不同,顶级作用域并非全局作用域,在Node模块里通过var定义的变量只属于那个模块。如果要在所有模块中使用变,就要将其写入global中,global是一个指向全局命名空间对象。

阅读全文

Node.js中的全局对象之process进程对象

 2015年06月16日    3914

process对象是一个Global全局对象,你可以在任何地方使用它,而无需require。process是EventEmitter的一个实例,所以process中也有相关事件的监听。使用process对象,可以方便处理进程相关操作。

阅读全文