12 2020 档案
摘要:- Node.js是单线程的模式运行的,但是使用事件驱动型来处理并发,所以在多核CPU上创建多个子进程来提高性能;
- 每个子进程带三个流对象:**child.stdin**、**child.stdout**、**child.stderr**。
- 子进程的三个对象可能会共享父进程的stdio流,或是共享独立的被导流的流对象。
阅读全文
摘要:- Representational State Transfer,简称REST,即表述性的状态传递。
- 是一组对架构的约束条件和原则。RESTful API即充满表述性状态传递的API。
- REST是设计风格,而不是标准。
- REST常基于HTTP、URI和XML以及HTML等。
- REST常使用JSON的数据格式
阅读全文
摘要:**Express核心特性**:
- 可以设置**中间件**来响应HTTP请求
- 定义了路由表用于执行不同的HTTP请求动作
- 可以通过模板传递参数来动态渲染HTML页面
阅读全文
摘要:使用http模块搭建服务端和客户端
阅读全文
摘要:Node.js 工具模块 参考https://www.runoob.com/nodejs/nodejs-utitlity-module.html os模块:一些基本的系统操作函数 path模块:提供了处理和转换文件路径的工具 net模块:用于底层的网络通信,提供了服务端和客户端的操作 dns模块:用
阅读全文
摘要:url模块中的parse一般用来解析GET请求,
querystring模块中的parse一般用来解析POST请求
阅读全文
摘要:- fs模块中的方法均有**异步**和**同步**两个版本,例如读取文件有fs.readFile()和fs.readFileSync();
- 异步方法的最后一个参数为回调函数,回调函数的第一个参数为错误信息err;
- 推荐使用**异步方法**,性能更高,速度更快,且无阻塞。
阅读全文
摘要:- **util**是Node.js的一个核心模块,顾名思义是工具的意思
阅读全文
摘要:- 全局对象**global**(其所有属性称为全局变量),任何地方都可以访问;
- JavaScript中window是全局对象,Node.js中global是全局对象。
阅读全文
摘要:- Node.js中路由主要处理 请求的URL、GET和POST参数等;
- 我们需要的数据都在request对象中,该对象作为onRequest()回调函数的第一个参数传递;
- 为了解析这些数据,还需要引入url和querystring模块。
阅读全文
摘要:- Node.js中函数可以作为另一个函数的参数;
- 函数当作参数传递的时候,传递的不是函数的返回值,而是**函数对象本身**。
阅读全文
摘要:- **文件**和**模块**一一对应;
- 一个Node.js文件就是一个模块,这个模块可能是JavaScript代码、JSON或者编译过的C/C++拓展。
阅读全文
摘要:- Stream是一个抽象接口,很多类都实现了它,例如:
> 1. 对http服务器发起请求的request对象;
> 2. stdout(标准输出)。
- 4种Stream类型:
> 1. Readable:可读操作;
> 2. Writable:可写操作;
> 3. Duplex:可读写操作;
> 4. Transform:操作被写入的数据,然后读出结果。
- 所有的Stream对象都是EventEmitter的实例。常用的事件有:
> 1. data:当有数据可读时触发;
> 2. end:没有更多的数据可读时触发(类似于EOF);
> 3. error:在接收和写入过程种发生错误时触发;
> 4. finish:单次操作写入所有数据都已被写入完成时触发。
阅读全文
摘要:- JavaScript本身只有字符串数据类型,没有二进制数据类型;
- 处理像TCP流或文件流时,必须用到二进制数据,因此使用Node.js中的Buffer类,用于创建一个缓冲区(缓存区)来存放二进制数据。
阅读全文
摘要:1. Node.js中所有的异步IO操作在完成时都会发送一个事件到事件队列。
2. Node.js里面的许多对象都会触发事件
阅读全文
摘要:Node.js本身是单进程单线程的应用程序,但是V8引擎提供了可异步执行的回调接口,通过这些接口可以处理大量的并发
阅读全文
摘要:1. Node.js的异步编程的直接体现就是回调。
2. 异步编程依托于回调来实现,回调!=异步化
3. Node.js所有的API都支持回调函数。
阅读全文
摘要:1. 引入required模块
2. 创建服务器
3. 接收和响应请求
阅读全文