node框架:Express,Koa,Hapi

Express:

Express是一个最小且灵活的Web应用程序框架,为Web和移动应用程序提供了一组强大的功能,它的行为就像一个中间件,可以帮助管理服务器和路由

安装:

// 你可以将express安装到项目依赖
   npm install express --save
    
// 如果要临时安装Express而不是将其添加到依赖项列表,则可以使用
   npm install express --no-save

优点:

  • 几乎是Node.js Web中间件的标准
  • 简单,简约,灵活和可扩展
  • 快速开发应用程序
  • 完全可定制
  • 学习曲线低
  • 轻松集成第三方服务和中间件
  • 主要关注浏览器,模板和渲染集成开箱即用

缺点:

  • 组织需要非常清楚,以避免在维护代码时出现问题
  • 随着代码库大小的增加,重构变得非常具有挑战性
  • 需要大量的手工劳动,因为您需要创建所有端点

性能:

Express是对web应用的一层基本封装,继承了Node.js的特性

Koa:

Koa 是一个新的 web 框架,由 Express幕后的原班人马打造,致力于成为web应用和API开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa帮你丢弃回调函数,并有力地增强错误处理Koa并没有捆绑任何中间件而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序

安装

1、npm install koa-generator -g  安装koa-generator,利用koa-generator快速搭建Node.js服务器

2、koa2  my-project  新建一个叫做my-project的koa2项目


3、cd  my-project     npm  install

4、启动项目  npm  start

5、打开 localhost:3000

优点:

  • Koa提高了互操作性,健壮性,使编写中间件变得更加愉快。
  • 集成了大量的web API,但是没有绑定中间件
  • 非常轻量,核心的Koa模块只有大约2K行代码
  • 拥有非常好的用户体验
  • 通过try / catch更好地处理错误
  • 异步控制流,代码可读性更高

缺点:

  • Koa社区相对较小
  • 与Express风格的中间件不兼容(目前还有遇到与其他框架兼容的中间件)

性能:

Koa本身是一个非常轻量级的框架,可以构建具有出色性能的Web应用程序。代码可读性和维护性都相对较高

Hapi:

Hapi是基础功能相对丰富的框架。开发人员更专注于业务,而不是花时间构建基础架构。配置驱动的模式,区别于传统的web服务器操作。他还有比一个独特功能,能够在特定的IP上创建服务器,具有类似的功能onPreHandler。再需要的时候你可以拦截特地的请求做一些必要的操作

安装

npm install hapi

优点:

  • 提供了一个强大的插件系统,允许您快速添加新功能和修复错误
  • 可扩展的API
  • 对请求处理有更深层次的控制。
  • 创建(REST)api的最佳选择,提供了路由、输入、输出验证和缓存
  • 一次编写适配各端
  • 详细的API参考和对文档生成的良好支持
  • 与任何前端框架(如React,Angular和Vue.js)一起使用来创建单页面应用程序
  • 基于配置的伪中间件
  • 提供缓存,身份验证和输入验证
  • 提供基于插件的扩展架构
  • 提供非常好的企业插件,如joi,yar,catbox,boom,tv和travelogue

缺点:

  • 代码结构复杂
  • 插件不兼容,只能使用指定的插件如:catbox joi boom tv good travelogue等
  • 端点是手动创建的,必须手动测试
  • 重构是手动的

性能:

017年对Node框架的研究表明hapi相对于其他框架的表现最差

最后Express仍然是当下最为流行,koa因拥抱ES6正在崛起,hapi还是大型项目的第一选择

发布了44 篇原创文章 · 获赞 15 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Sunshine0508/article/details/90056652