js和node的知识结构结构映射
角色 | js | node |
---|---|---|
语言基础: | ECMAScript | ECMAScirpt |
操作对象: | 浏览器 DOM BOM | 系统 os 文件 fs 网络 net 数据库database ... |
顶层对象: | window | global |
模块目录解析
- path: 路径解析模块 - 获得模块的路径、路径拼接...
- fs:文件系统模块 - 打开、修改、重命名、监听...
- global:全局变量 - 设置全局变量和方法、包含默认的全局方法啊
- events:事件系统 - 注册一些事件监听(应该类似观察者模式)
- crypto: 加密
- module: 模块
- net:网络 - 创建服务器、监听请求、处理请求...
- Buffer 缓冲:二进制类 将数据解析成二进制缓冲下来,提供了处理二进制数据的静态方法。
- stream: 流 - 很大的文件可以变读边写。
查询解析类模块 - 主要是获取信息
- url:路径处理 - 解析路径 端口、查询、hash...
- querystring:查询支字符串 - 解析 url 中的查询字符串
- os:系统对象 - 返回操作系统的相关数据
和js类似的模块
- console:控制台
- timer:定时器
- Error:异常
同步和异步
所有node 的api 都有同步和异步两种接口。
- 默认是异步方法,同步方法需要添加Sync后缀。
- 异步方法的最后一个参数是回调函数,通过回调函数来,组织任务。
- 异步方法的回调函数(err,data)=>{...};
fs.open():打开文件的异步方法。
fs.openSync():打开文件的同步方法。