Node.js REPL
Read Eval Print Loop交互式解释器,可进行读取,执行,打印,循环等任务
下划线(_)变量:可以直接获得运算表单是的结果
$ node
> var x = 10
undefined
> var y = 20
undefined
> x + y
30
> var sum = _
undefined
> console.log(sum)
30
.save filename - 保存当前的 Node REPL 会话到指定文件
.load filename - 载入当前 Node REPL 会话的文件内容。
Node.js 回调和事件循环
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。
Node.js EventEmitter
Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。
EventEmitter 提供了多个属性,如 on 和 emit。on 函数用于绑定事件函数,emit 属性用于触发一个事件。
Buffer从缓冲区读取数据
buf.toString([encoding[, start[, end]]])
encoding - 使用的编码。默认为 'utf8' 。
start - 指定开始读取的索引位置,默认为 0。
end - 结束位置,默认为缓冲区的末尾。
Node.js Stream(流)
本节有案例:通过管道pipe执行文件(解)压缩
Node.js常用工具
util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足。
Node.js 文件系统
Node.js 文件系统(fs 模块)
Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()。
异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。
建议大家是用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞。
获取文件信息
fs.stat(path, callback)
写入文件
fs.writeFile(filename, data[, options], callback)
读取文件
fs.read(fd, buffer, offset, length, position, callback)
关闭文件
fs.close(fd, callback)
截取文件
fs.ftruncate(fd, len, callback)
删除文件
fs.unlink(path, callback)
创建目录
fs.mkdir(path[, mode], callback)
读取目录
fs.readdir(path, callback)
删除目录
fs.rmdir(path, callback)