01.Express介绍

438 阅读2分钟

1.express是什么

Express是一个快速,简单,极简的Node.js web应用开发框架。通过它,可以轻松的构建各种web应用。例如:

  • 接口服务
  • 传统的web网站
  • 开发工具集成等
  • ... Express本身是极简的,仅仅提供了web开发的基础功能,但是它通过中间件的方式继承了许许多多的外部插件来处理HTTP请求。
  • body-parser: 解析HTTP请求体
  • compression: 压缩HTTP响应
  • cookie-parser: 解析cookie数据
  • cors: 处理跨域资源请求
  • morgan: HTTP请求日志记录
  • ...

Express中间件的特性固然强大,但是它所提供的灵活性是一把双刃剑。

  • 它让Express本身变得更加的灵活和简单
  • 缺点在于虽然有一些中间件包可以解决几乎所有的问题或需求,但是挑选合适的包有时也会成为一个挑战。

Express不对Node.js已有的特性进行二次抽象,只是在它之上扩展了web应用所需的基本功能

  • 内部使用的还是http模块
  • 请求对象继承自http.IncomingMessage
  • 响应对象继承自: http.ServerResponse 有很多流行框架基于Express
  • LoopBack: 高可扩展的开源Node.js框架,用于快速创建动态的端到端REST API
  • Sails: 用于NOde.js的MVC框架,用于再TypeScript和JavaScript(ES6、ES7、ES8)之上的构建高效,可扩展的企业级服务器端应用程序。
  • ...

Express的开发作者是知名的开源项目创建者和协作者 TJ Holowaychuk

2.Express特性

  • 简单易学
  • 丰富的基础API支持,以及常见的HTTP辅助程序,例如重定向、缓存等
  • 强大的路由功能
  • 灵活的中间件
  • 高性能
  • 非常稳定(它的源码几乎百分百的测试覆盖率)
  • 试图系统支持14个以上的主流模板引擎
  • ...

3.Express应用场景

  • 传统的web网站
    • Ghost
    • ...
  • 接口服务
  • 服务端渲染中间层
  • 开发工具
    • JSON Server
    • webpack-dev-server