
Node.JS相关
Node.js
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用于方便地搭建响应速度快、易于扩展的网络应用。
Node.js发布于2009年5月,由Ryan Dahl开发,是一个事件驱动、非阻塞式I/O模型,让JavaScript在服务端运行的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台。
Koa.js
中文文档:Koa
Koa是一个由Express背后的团队设计的新Web框架,以成为Web应用程序和API的更小、更具表现力和更健壮的基础为目标。
Koa基于异步流程控制特性,主要用于改进Node.js开发中的回调地狱痛点,其核心不捆绑任何中间件,提供了一套优雅的方法,使编写服务器变得快速而愉快。
Koa支持异步函数即async/await语法,相对于Express支持回调函数,它的代码极度精简,是一个极轻量的优雅框架。
洋葱模型:
这是Koa,js中一个重要概念,在洋葱模型中,请求(request)和响应(response)被视为核心,而中间件则是围绕这个核心层层叠加的,每个中间件负责处理特定的任务,然后将结果传递给下一个中间件,最终形成响应。
Egg.js
中文文档:Egg
Egg.js是一个基于Node.js和Koa2的企业级应用框架,它基于ES6、ES7和Node.js。
Egg.js的特性如下:
提供基于Egg定制上层框架的能力。
高度可扩展的插件机制。
内置多进程管理。
基于Koa开发,性能优异。
框架稳定,测试覆盖率高。
渐进式开发。
Node.js实战经历
基于Egg.js开发的Right-House服务端,代码:RH-server