Skip to content
快速预览

express简介

✍️ w 🕒 2023-06-06 08:22:52(a year ago) 🔗 B.NodeJS学习 服务端 express

Express.js是一个基于Node.js的轻量级、灵活的Web应用框架,它提供了一系列强大的功能,用于构建单页、多页以及混合Web应用。Express.js的设计思路主要是简洁、快速、易于扩展,它通过中间件的方式集成了许许多多的外部插件来处理 HTTP 请求。让开发者能够快速搭建Web应用并进行定制。这种灵活简单的形式也存在缺点在于虽然有一些中间件包可以解决几乎所有问题或需求,但需要自己去跳转

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

有很多流行框架基于 Express

  • LoopBack:高度可扩展的开源 Node.js 框架,用于快速创建动态的端到端 REST API。
  • Sails:用于Node.js的 MVC 框架,用于构建实用的,可用于生产的应用程序。
  • NestJs:一个渐进式的 Node.js 框架,用于在 TypeScript 和 JavaScript(ES6,ES7,ES8)之上构建高效,可扩展的企业级服务器端应用程序

TJ 是express 的作者,首次发行的版本 0.12.0,依据 Express.js 的 GitHub 仓库,是在 2010 年 5 月 22 日,在 2014 年 6 月,StrongLoop 获得了项目的管理权。StrongLoop 在 2015 年 9 月被IBM并购。在 2016 年 1 月,IBM 宣布将Express.j s置于Node.js基金会孵化器的管理之下。

帮助到网站

特点

  1. 中间件:Express.js使用中间件的概念来处理HTTP请求。中间件是一种可以访问请求对象、响应对象和应用程序请求-响应周期中的下一个中间件函数的函数。可以在处理前、处理中、处理后等不同的阶段执行不同的中间件函数,从而实现各种功能,如身份验证、请求日志记录、错误处理等。

  2. 路由:Express.js 提供了路由功能,可以根据不同的 URL 请求,将请求分发到不同的处理函数中。

  3. 模板引擎:Express.js支持多种模板引擎,如EJS、Pug、Handlebars等。模板引擎允许开发者将数据与HTML模板结合,从而生成动态的HTML页面。这使得开发者可以轻松地构建具有动态内容的Web应用。

  4. 静态文件服务:Express.js内置了一个静态文件服务器,可以方便地为Web应用提供静态资源(如CSS、JavaScript、图片等)。这使得开发者无需额外配置,即可快速搭建Web应用。

  5. 错误处理:Express.js提供了一个简单的错误处理机制,允许开发者为应用程序定义自定义错误处理程序。这使得开发者可以轻松地处理错误,并向用户提供友好的错误信息。

  6. 易于扩展:Express.js 的模块化设计具有很好的扩展性,可以通过安装第三方中间件或编写自定义中间件来增强其功能。这使得开发者可以根据项目需求,轻松地为Express.js添加新功能。

模块

  1. express:Express.js的主要模块,用于创建Express.js应用程序实例。

  2. application:Express.js应用程序实例,用于定义路由、中间件和其他应用程序级别的设置。

  3. router:Express.js路由实例,用于定义应用程序的路由。

  4. request:Express.js请求对象,包含HTTP请求的信息和数据。

  5. response:Express.js响应对象,用于向客户端发送HTTP响应。

  6. middleware:Express.js中间件,用于处理HTTP请求和响应。Express.js内置了一些常用的中间件,如body-parser(解析请求体)、cookie-parser(解析Cookie)等,同时也支持第三方和自定义中间件。

  7. view:Express.js视图系统,用于渲染动态HTML页面。Express.js支持多种模板引擎,如EJS、Pug、Handlebars等。

简单使用

首先,我们需要创建一个新的文件夹来存放我们的项目文件:

sh
mkdir my-express-app
cd my-express-app

接下来,我们使用npm初始化项目,并安装Express.js:

sh
npm init -y
npm install express

编写应用代码

在项目文件夹中,创建一个名为app.js的文件,然后打开文件并输入以下代码:

js
const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`);
});

这段代码首先引入了Express.js模块,并创建了一个Express.js应用实例。然后,我们定义了一个简单的路由,当用户访问应用的根路径(/)时,返回“Hello World!”。最后,我们让应用监听在3000端口,并在控制台输出一条提示信息。

运行

node app.js

打开浏览器并访问http://localhost:3000,你将看到页面上显示“Hello World!”,

Released under the MIT License.