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)