分类目录归档:Node.JS

Node.js api 中文文档 - StringDecoder


稳定度: 2 - 稳定

通过require('string_decoder')来使用这个模块。StringDecoder解码一个buffer为一个字符串。它是一个buffer.toString()的简单接口,但是提供了utf8的额外支持。

var StringDecoder = require('string_decoder').StringDecoder;
var decoder = new StringDecoder('utf8');

var cent = new Buffer([0xC2, 0xA2]);
console.log(decoder.w...

阅读全文...

Node.js api 中文文档 - REPL


稳定度: 2 - 稳定

一个 读取-执行-打印-循环(REPL)可以用于单独的程序,也能很容易的被集成在其他程序中。REPL提供了一种交互着运行JavaScript然后查看结果的方式。它可以被用来调试,测试或只是尝试一些东西。

在命令行中不带任何参数直接执行iojs,你会进入REPL界面。它有一个极简的emacs行编辑器。

mjr:~$ iojs
Type '.help' for options.
> a = [ 1, 2, 3];
[ 1, 2, 3 ]
> a.forEach(function (v) {
...   console.log(v);
......

阅读全文...

Node.js api 中文文档 - Readline


稳定度: 2 - 稳定

通过require('readline')来使用这个模块。Readline允许逐行读取一个流(如process.stdin)。

注意,一旦你执行了这个模块,你的node.js程序在你关闭此接口之前,将不会退出。以下是如何让你的程序优雅的退出的例子:

var readline = require('readline');

var rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question("What do...

阅读全文...

Node.js api 中文文档 - Query String


稳定度: 2 - 稳定

这个模块提供了处理 查询字符串 的工具。它提供了以下方法:

querystring.stringify(obj[, sep][, eq][, options])

序列化一个对象为一个查询字符串。可以可选地覆盖默认的分隔符('&')和赋值符号('=')。

options对象可以包含encodeURIComponent属性(默认为querystring.escape),它被用来在需要时,将字符串编码为非utf-8编码。

例子:

querystring.stringify({ foo: 'bar', baz: ['qux', &#...

阅读全文...

Node.js api 中文文档 - process


process对象是一个全局对象,并且何以被在任何地方调用。这是一个EventEmitter实例。

Exit Codes

当没有任何异步操作在等待时,node.js通常将会以一个0为退出码退出。以下这些状态码会在其他情况下被用到:

  • 1 未捕获的致命异常。这是一个未捕获的异常,并且它没有被domain处理,也没有被uncaughtException处理。
  • 2 未使用(由Bash为内建误操作保留)。
  • 3 内部的JavaScript解析错误。node.js内部的JavaScript源码引导(bootstrapping)造成的一个解释错误。这极其罕见。并且常常只会发生在node.js自身的开发...

阅读全文...

Node.js api 中文文档 - punycode


Stability: 2 - Stable

Punycode.jsnode.js v1.0.0+ 和 Node.js v0.6.2+ 中被内置。通过require('punycode')来获取它(若要在其他版本的node.js中使用它,需要先通过npm来安装punycode模块)。

punycode.decode(string)

转换一个纯ASCII符号 Punycode字符串为一个Unicode符号的字符串。

// decode domain name parts
punycode.decode('maana-pta'); // 'mañana'
pu...

阅读全文...

Node.js api 中文文档 - Path


稳定度: 2 - 稳定

这个模块提供了处理和转换文件路径的工具。几乎所有的方法都仅提供字符串转换功能。文件系统不会去检查路径是否可用。

通过require('path')来使用这个模块。以下是提供的方法:

path.normalize(p)

规范化字符串路径,注意'..''.'部分。

当有多个连续斜杠时,它们会被替换为一个斜杠;当路径的最后有一个斜杠,它会被保留。在Windows下使用反斜杠。

例子:

path.normalize('/foo/bar//baz/asdf/quux/..')
// returns
'/foo/bar/baz/asdf'
...

阅读全文...

Node.js api 中文文档 - OS


稳定度: 2 - 稳定

提供一些基本的操作系统相关的功能。

使用require('os')来获得这个模块。

os.tmpdir()

返回操作系统默认的临时文件目录。

os.homedir()

返回当前用户的家目录。

os.endianness()

返回CPU的字节序。BE为大端字节序,LE为小端字节序。

os.hostname()

返回当前操作系统的主机名。

os.type()

返回操作系统名。例如,Linux下为'Linux',OS X下为'Darwin',Windows下为'Windows_NT'

os.platform()

返回操作系统平台。可能的值有'darwin''free...

阅读全文...

Node.js api 中文文档 - net


稳定度: 2 - 稳定

net模块为你提供了异步的网络调用的包装。它同时包含了创建服务器和客户端的函数。你可以通过require('net')来引入这个模块。

net.createServer([options][, connectionListener])

创建一个新的TCP服务器。connectionListener参数会被自动绑定为connection事件的监听器。

options是一个包含下列默认值的对象:

{
  allowHalfOpen: false,
  pauseOnConnect: false
}

如果allowHalfOpentrue,那么当另一端的socket...

阅读全文...

Node.js api 中文文档 - Modules


稳定度: 3 - 锁定

node.js又一个简单的模块加载系统。在node.js中,文件和模块是一一对应的。以下例子中,foo.js加载的同目录下的circle.js

foo.js的内容:

var circle = require('./circle.js');
console.log( 'The area of a circle of radius 4 is '
           + circle.area(4));

circle.js的内容:

var PI = Math.PI;

exports.area = function (r) {
  ...

阅读全文...