node.js 入门教程之十一 -- buffers 缓存
一个 buffer 缓存就是一个内存空间。JavaScript 开发者相较于 c++/go 等语言的开发者对内存的理解比较少。它表示在 JavaScript V8 engine 之外的分配的一块 fixed-size 固定大小的内存。可以想象 buffer 就是一个 integer 整型数组,每个元素代表一个 byte 的数据。
node.js 中 buffer 通过 Buffer class 实现。
一个 buffer 缓存就是一个内存空间。JavaScript 开发者相较于 c++/go 等语言的开发者对内存的理解比较少。它表示在 JavaScript V8 engine 之外的分配的一块 fixed-size 固定大小的内存。可以想象 buffer 就是一个 integer 整型数组,每个元素代表一个 byte 的数据。
node.js 中 buffer 通过 Buffer class 实现。
http 模块是 node.js 处理 networking 网络的关键模块。在之前的章节我介绍了使用 http 模块建立 server 以及发起 GET/POST 请求的方法,可以参考:https://blog.niekun.net/archives/2137.html
http 模块集成于 node.js 核心无需单独安装,使用下面命令引入模块:
const http = require('http')
模块提供了很多 properties,methods 和 classes。
在之前介绍 event loop 的章节,我们简单介绍了 events 模块的使用,它可以设置并监听某个信号并在信号触发时响应 callback function。
events 模块提供了 EventEmitter class 它是处理 events 的关键工具。
引入及初始化 events 模块如下:
const EventEmitter = require('events')
const eventEmitter = new EventEmitter()
每个 event listener 事件监听器都是互相独立的,同时它们使用如下 events:
下面介绍常用的一些 method。
os 模块可以用来获取操作系统的底层信息和系统上运行的程序,以及和系统交互。
它集成在 node.js 中,只需要引入即可:
const os = require('os')
这里先介绍一些在处理文件时有用的 properties:
\n
on Linux and macOS, and \r\n
on Windows完整的 signals 信号列表参考:https://nodejs.org/api/os.html#os_signal_constants
下面介绍 os 模块常用的 method。
上一章节我们了解了如果访问文件系统。使用到了 fs 和 path 模块的部分功能,下面我们详细了解这两个模块可以实现的功能。
通过以上几个使用场景可以看到 fs 模块提供了很多有用的功能来对 file system 进行访问和交互。并且他是集成在 node.js core 中的,并不需要手动安装:
const fs = require('fs')