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