Node.js中的全局对象之console控制台对象

 2015年06月16日    3505

控制台对象console是Node.js中的Global全局对象之一,用于打印标准输出stdout和标准错误stderr。全局对象在所有模块中都可以使用,console对象也不例外,无需require引用,即可直接使用。

阅读全文

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

 2015年06月16日    4106

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

阅读全文

不依赖canvas的Node.js验证码模块captchapng

 2015年06月22日    1507

试过很多个验证码模块,要么依赖canvas,要么需要编译,使用都不够简单方便。captchapng是一个基于pnglib模块开发,数字型验证码模块。内置字体、全JavaScript无其它依赖,使用非常简单高效,很符合我的使用需求。

阅读全文

Node.js中的Global全局对象

 2015年06月22日    1229

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

阅读全文

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

 2015年06月23日    986

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

阅读全文

Node.js的Punycode编码模块

 2015年06月24日    1079

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安装。

阅读全文

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

 2015年06月25日    1179

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

阅读全文

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

 2015年06月27日    1643

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

阅读全文

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

 2015年06月28日    879

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

阅读全文