在之前我们已经了解过 Node.js
和 Koa.js
的一些相关知识,今天我们来看看如何使用 Egg.js
来实现一个接口服务,Egg.js
是一个基于 Koa.js
框架而实现的框架,所以它应当属于框架之上的框架,它继承了 Koa.js
的高性能优点,同时又加入了一些『约束与开发规范』,来规避 Koa.js
框架本身的开发自由度太高的问题
在之前我们已经了解过 Node.js
和 Koa.js
的一些相关知识,今天我们来看看如何使用 Egg.js
来实现一个接口服务,Egg.js
是一个基于 Koa.js
框架而实现的框架,所以它应当属于框架之上的框架,它继承了 Koa.js
的高性能优点,同时又加入了一些『约束与开发规范』,来规避 Koa.js
框架本身的开发自由度太高的问题
HTTP
模块是 Node.js
中非常重要的一个核心模块,通过 HTTP
模块,可以使用其 http.createServer()
方法创建一个 HTTP
服务器,也可以使用其 http.request()
方法创建一个 HTTP
客户端,Node.js
对 HTTP
协议及相关 API
的封装比较底层,其仅能处理流和消息,对于消息的处理,也仅解析成『报文头』和『报文体』,但是不解析实际的报文头和报文体内容,这样不仅解决了 HTTP
原本比较难用的特性,也可以支持更多的 HTTP
应用
本文内容主要分为两部分『客户端』与『服务端』,我们下面就一个一个来进行了解
为了让 Node.js
的文件可以相互调用,Node.js
提供了一个简单的模块系统,模块是 Node.js
应用程序的基本组成部分,文件和模块是一一对应的,换言之,一个 Node.js
文件就是一个模块,这个文件可能是 JavaScript
代码、JSON
或者编译过的 C/C++
扩展
JavaScript
语言自身只有字符串数据类型,没有二进制数据类型,但在处理像 TCP
流或文件流时,必须使用到二进制数据,因此在 Node.js
中,定义了一个 Buffer
类,该类用来创建一个专门存放二进制数据的缓存区,但是在深入展开之前,我们先来了解一下 JavaScript
当中的 ArrayBuffer
,来看看它与 Node.js
当中的 Buffer
到底有什么区别?
本章我们继续来看 Node.js
当中的 EventEmitter
模块,在 Node.js
当中许多对象都会分发事件,比如一个 net.Server 对象会在每次有新连接时触发一个事件,一个 fs.readStream 对象会在文件被打开的时候触发一个事件,然而所有这些产生事件的对象都是 events.EventEmitter
的实例
本文主要分为以下几个部分,首先先介绍一下 EventEmitter
类,然后简单的过一遍源码,最后在自己动手来实现一个简单的 EventEmitter
模块,下面就让我们一步一步来实现吧
其实在工作过程中一直有个想法,就是好好地深入的去学习一下 Node.js
,无奈各种工作,家庭,生活和一些其他的原因导致此事一直搁浅,之前也有零零散散的学过,但是都算不得上深入,框架的使用也都只是停留在会用的阶段,底层的实现也没有知根知底的去探个究竟
所以打算在这 2019
年剩下的一段时间里,静下心来好好地学一下 Node.js
,补充一下相关知识和一些流行框架的内容,应该会是一个系列文章,记录的就是在学习 Node.js
过程当中的一些笔记,心得和想法吧,刚好也看到了 如何正确的学习 Node.js 这篇文章,就以这个为起点,从头开始吧
Update your browser to view this website correctly. Update my browser now