ExpressJS - 概述
ExpressJS 是一个 web 应用框架,它提供了一个简单的 API 来构建网站、web 应用和后端。通过 ExpressJS,您无需担心底层协议、进程等。
什么是 Express?
Express 提供了一个最小化的接口来构建我们的应用。它为我们提供了构建应用所需的工具。它非常灵活,因为在 npm 上有众多模块可直接插入 Express。
Express 由 TJ Holowaychuk 开发,并由 Node.js 基金会和众多开源贡献者维护。
为什么选择 Express?
与其他竞争对手如 Rails 和 Django 不同,后者有固定的构建应用方式,Express 没有“最佳方式”来做某事。它非常灵活且可插拔。
ExpressJS 的特性
以下是 ExpressJS 的显著特性,使其成为 web 应用开发者的首选。
极简设计− ExpressJS 是无偏见的框架。它高度灵活,遵循简单、极简的设计原则。我们可以用很少的代码快速设置服务器、定义路由并开始处理 http 请求。
中间件/路由− ExpressJS 为路由提供了清晰的选项,支持所有类型的 HTTP 方法,如 POST、GET、PUT 等。
灵活性− 使用 ExpressJS 没有先决条件或必须遵循的格式。如果我们了解 NodeJS,就可以按照自己的偏好编写代码。
模板引擎− ExpressJS 支持各种模板引擎,如 PUG、Jade 或 EJS,以动态生成 HTML 内容。
静态文件服务− ExpressJS 无缝支持从文件夹提供静态文件,如图像/CSS/JavaScript。
基于 NodeJS− NodeJS 的异步编程和事件驱动编程核心功能可以轻松与 ExpressJS 集成。
ExpressJS 的应用
以下是 ExpressJS 的显著特性,使其成为 web 应用开发者的首选。
支持 RESTful API− REST 架构是一种强大的风格,用于实现前端与后端的通信。ExpressJS 天生支持 RESTful API。
支持实时应用− 事件驱动编程有助于创建聊天、并行协作编辑工具等。ExpressJS 与 Node 集成,支持事件驱动编程,无缝衔接。
支持单页应用 (SPA)− SPA 和 RESTful API 允许基于 Express 的应用动态更新内容,提升用户体验。
ExpressJS vs Django vs Ruby on Rails
| 序号 | 特性 | ExpressJS | Django | Ruby on Rails |
|---|---|---|---|---|
| 1 | 语言 | JavaScript | Python | Ruby |
| 2 | 灵活性 | 高度灵活。天生无偏见。 | 中等。天生有偏见。 | 低。高度有偏见。 |
| 3 | 性能 | 高性能 | 中等 | 中等 | 4 | 中间件支持 | 非常高 | 有限 | 有限 | 5 | 应用 | REST API、Web 应用 | 全栈开发 | 全栈开发 |
Pug
Pug(先前称为 Jade)是一种简洁的 HTML 模板编写语言。它 −
- 生成 HTML
- 支持动态代码
- 支持可重用性 (DRY)
它是与 Express 一起使用的最受欢迎的模板语言之一。
MongoDB 和 Mongoose
MongoDB 是一个开源的文档数据库,专为开发和扩展的便利性而设计。该数据库也用于存储数据。
Mongoose 是 node.js 的客户端 API,它使我们能够轻松从 Express 应用访问数据库。