Express 教程

🌙
手机阅读
本文目录结构
a'xi'he

Express.js

Express.js 或简称 Express,是针对 Node.js 的 web 应用框架,在 MIT 许可证下作为自由及开放源代码软件发行。它设计用来建造 web 应用和 API[1]。它已经被称为针对 Node.js 的服务器框架的事实标准 [2]。

最初作者 TJ Holowaychuk,将它描述为受 Sinatra 启发的服务器,意味着它是相对极小化的,带有以插件形式获得的很多特征。Express 是 MEAN 软件栈的后端部件,其他部件是 MongoDB 数据库软件和 AngularJS 前端框架 [3]。

历史

Express.js 由 TJ Holowaychuk 创立。首次发行的版本 0.12.0,依据 Express.js 的 GitHub 仓库,是在 2010 年 5 月 22 日。

在 2014 年 6 月,StrongLoop 获得了项目的管理权 [4]。StrongLoop 在 2015 年 9 月被 IBM 并购 [5]。在 2016 年 1 月,IBM 宣布将 Express.js 置于 Node.js 基金会孵化器的管理之下 [6]。

流行度

Express.js 被用于 Fox Sports、PayPal、Uber 和 IBM[7],Node 框架名副其实的一哥。

特点

Web 应用程序

Express 是一种保持最低程度规模的灵活 Node.js Web 应用程序框架,为 Web 和移动应用程序提供一组强大的功能。

API

使用您提议的各种 HTTP 实用程序方法和中间件,快速方便地创建强大的 API。

性能

Express 提供精简的基本 Web 应用程序功能,而不会隐藏您了解和青睐的 Node.js 功能。

框架

许多基于 Express 的 流行框架 。

好处

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

缺点

尽管 Express.js 是一个非常方便且易于使用的框架,但它有一些可能影响开发过程的小缺点。

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

性能

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

当天也有一些 express 性能的最佳实践包括:

  • 使用 gzip 压缩
  • 不要使用同步功能
  • 正确记录(用于调试,使用特殊模块,如调试,应用程序活动使用 winston 或 bunyan)
  • 使用 try-catch 或 promises 正确处理异常
  • 确保您的应用程序使用流程管理器自动重新启动,或使用 systemd 或 upstartinit 等系统
  • 在群集中运行您的应用。您可以通过启动进程集群来大大提高 Node.js 应用程序的性能
  • 缓存请求结果,以便您的应用不会重复操作以反复提供相同的请求
  • 使用负载均衡器运行它的多个实例并分配流量,如 Nginx 或 HAProxy
  • 对静态资源使用反向代理。它可以处理错误页面,压缩,缓存,提供文件和负载平衡等
  • 更多性能最佳实践

安全

Node.js 漏洞直接影响 Express,因此确保使用最新的稳定版 Node.js

  • 查看 express 最佳安全实践

社区参与

  • 贡献者数量:220
  • Pull Requests:821
  • Express 社区定期活动包括 Gitter,IRC channel, issues, Wiki 等等

最后,express 可能是 Node.js 最流行的框架,还有许多其他流行的框架都是基于 Express 构建的。

AXIHE / 精选教程

浏览全部教程

HTML

CSS

JS

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili 和抖音。

关注我: Github / 知乎

如果你加我的私人微信,麻烦写上您的 称呼,所在地区,职业,方便我备注,谢谢


本站的微信公众号

阿西河前端教程

Anbang

安邦的私人微信

微信号: yaolushan

Anbang

Bilibili(B站)

朱安邦

Anbang