Node.js v8.11.1
Node.js v8.11.1 文档
今天大致浏览了一下Node.js的官方文档,走马观花的了解了大部分模块的api,对他们的使用场景做一个简单的笔记
assert 断言
个人觉得写业务代码的时候用的很少,可以用来做一些异常捕捉。如果是写测试模块应该很方便。
Buffer 缓冲器
用来做二进制数据流相关处理,可能在网络通信协议底层会用的比较多
event 事件发生器
感觉是node的核心特点。通过异步事件响应。通过event可以注册自己的事件并且在适当的时候触发。
cluster 集群
node是单进程单线程,利用多核cpu来提升并发处理。cluster模块就是创建多个node进程‘集群’,实现了进程之间的通信合作。估计在写服务器底层架构的时候会涉及。
console,error 控制台,异常处理
throw error, conosle.log, console.error。各种debug,异常处理时碰到。
fs, os, path 操作系统,文件操作相关
针对不同操作系统有不同的实现,基本上统一的API。操作文件,获取系统信息,文件目录。
process 当前进程
获取当前node进程的相关信息。是一个global变量。有部分属性等价于os的属性。可能会结合cluster来使用进行进程间的调度。
child_process 子进程
注意跟process的区别。child_process 是node执行一条系统命令打开的子进程。相当于其他语言的 system, popen, exec等。直接执行一些shell脚本之类
stream 流
node中许多模块都是stream的实现,比如child_process执行的返回结果,打开文件读取的字节流等等。应该总是和管道pipe一起使用
dgram 与 net 数据报与网络
dgram和net都有socket实现,dgram针对UDP协议,net针对TCP协议。实现的Socket方法基本一致。需要自己写客户端或服务器的时候会用到吧。
crypto, util, dns,string_decoder 一些工具类模块
分别是加密,常用工具,域名解析,字符编码。工具类中提一个 util.inherits 原型链继承,值得留意一下。
url,querystring,module,global,timer
略