koa.js

教程

Api

什么是koa

  • Koa提供了一个最小的界面来创建我们的应用程序。它是一个非常小的框架(600 LoC),为我们提供创建我们的应用程序所需的工具,并且非常灵活,Koa可以在npm上提供许多模块,可以直接插入。Koa可以被认为是express.js的核心,没有所有的钟声和口哨。

为什么选择koa

  • Koa占地面积小(600 LoC),是节点上非常薄的抽象层,用于创建服务器端应用程序。它是完全可插拔的,有一个巨大的社区。这也使我们能够轻松扩展koa并根据我们的需要使用它。它是使用爆破边缘技术(ES6)创建的,它使其比旧式框架(如快递)更为优势。

koa.js,egg.js,express.js三者有什么区别?

  • Express.js 是 Node.JS 诞生之初,最早出现的一款框架,现在仍然很流行,作者是TJ。

  • 随着ECMAScript的发展,推出了 generator yield 语法,JS向同步方式写异步代码迈出了一步,作为回应,TJ大神推出了Koa.js。

  • Koa.js是一款微型Web框架,写一个hello world很简单,但web应用离不开session,视图模板,路由,文件上传,日志管理。这些 Koa 都不提供,需要自行去官方的 Middleware 寻找。然而,100个人可能找出100种搭配。

  • Egg.js是基于Koa.js,解决了上述问题,将社区最佳实践整合进了Koa.js,另取名叫Egg.js,并且将多进程启动,开发时的热更新等问题一并解决了。这对开发者很友好,开箱即用,开箱即是最(较)佳配置。

    • Egg.js发展期间,ECMAScript又推出了 async await相比yield的语法async写起来更直观。当然,Koa.js也同步进行了跟进,Egg.js低层是Koa.js,自然也进行了跟进。
  • 现在TypeScript大热,可以在编码期间,提供类型检查,更智能的代码提示。Egg.js不支持TypeScript,此时淘宝团队在Egg.js基础上,引入了TypeScript支持,取名叫 MidwayJS

TypeScript是绕不开的话题。

  • 基于Express.js的全功能框架 Nest.js,他是在Express.js上封装的,充分利用了TypeScript的特性;Nest.js的优点是社区活跃,涨势喜人。缺点是,如果从来没有接触过TS,刚开始学习曲线有点陡峭。观看B站教程视频快速入门。我现在比较喜欢用Nest.js。
LeetCode(力扣)
JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里属于IT工程师。