📜  Express 服务器 - Javascript (1)

📅  最后修改于: 2023-12-03 14:41:04.655000             🧑  作者: Mango

Express 服务器 - JavaScript

简介

Express 是一个基于 Node.js 平台开发的 Web 应用程序框架,它提供了一套简洁、灵活的方法来编写 Web 应用程序。Express 应用程序可以采用不同的插件,从而扩展其功能。Express 具有简洁的路由和中间件系统,通过这些系统,可以轻松地编写可读性高的代码。

安装

在开始使用 Express 之前,您需要先安装 Node.js 环境。接下来,在命令行中输入以下命令,即可在您的项目中安装 Express:

npm install express
快速开始

以下是使用 Express 创建简单 Web 应用程序的最小示例代码。

const express = require('express');
const app = express();

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

app.listen(3000, () => {
  console.log('Server started on port 3000');
});

上述示例创建了一个 Express 应用程序对象,使用 app.get() 方法定义了一个路由处理器函数来处理 HTTP GET 请求。当客户端访问应用程序的根路径时,服务器会返回一个“Hello World”消息。同时,app.listen() 方法启动了 Web 服务器并监听 3000 端口上的连接请求。

路由

在 Express 中,路由用于定义客户端请求的 URL 路径和与此路径相关的 HTTP 请求方法(如 GET、POST、PUT、DELETE)。下面是路由定义的基本语法:

app.METHOD(PATH, HANDLER)

其中,app 是一个服务实例,METHOD 是 HTTP 请求方法,PATH 是 URL 路径,HANDLER 是处理客户端请求的回调函数。

示例代码:

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

app.post('/users', (req, res) => {
  res.send('Creating a new user...');
});

上述代码定义了两个路由:根路径 //users 路径,并且分别使用 HTTP GET 和 POST 方法来处理这两个路由。

中间件

在 Express 中,中间件是一个函数,它可以拦截、处理或修改客户端请求或响应,同时还可以扩展 Express 应用程序的功能。中间件本质上就是在处理请求或响应的过程中执行的函数,可以在任何地方调用它们。

通过 app.use() 方法可以将中间件添加到 Express 应用程序中。这个方法接受一个或多个回调函数作为参数。示例代码:

// 日志中间件
app.use((req, res, next) => {
  console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);
  next();
});

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

上述代码定义了一个日志中间件,它在处理每个请求时都会输出请求的时间戳、请求方法和 URL 路径。next() 函数用于将控制权交给下一个中间件,如果没有其他中间件了,则将控制权交给路由处理器函数。

设计模式

在 Express 应用程序开发中,有几种常用的设计模式。

MVC 模式

MVC(Model-View-Controller)模式是一种非常流行的应用程序设计模式。在 MVC 模式中,应用程序被分成三个部分:模型、视图和控制器。在 Express 应用程序中,通常使用以下目录结构来组织 MVC 模式:

.
├── models
│   ├── user.js
│   └── ...
├── views
│   ├── home.ejs
│   └── ...
└── controllers
    ├── home.js
    └── ...

上述目录结构中,models 目录包含了应用程序的所有数据模型,views 目录包含了应用程序的所有视图,controllers 目录包含了应用程序的所有控制器。每个控制器负责处理一个或多个路由,并且使用模型和视图来生成 HTML 内容。

RESTful API 模式

REST(Representational State Transfer)是一种设计风格,它将 Web 应用程序看作是一组资源,由客户端通过 HTTP 协议来实现资源的增删改查。RESTful API 模式是一种常用的 Web API 设计模式,采用 REST 风格来设计 Web API。在 Express 应用程序中,可以使用以下路由模板来创建 RESTful API:

// 获取所有资源(GET)
app.get('/resources', (req, res) => {
  // ...
});

// 获取单个资源(GET)
app.get('/resources/:id', (req, res) => {
  // ...
});

// 创建资源(POST)
app.post('/resources', (req, res) => {
  // ...
});

// 更新资源(PUT)
app.put('/resources/:id', (req, res) => {
  // ...
});

// 删除资源(DELETE)
app.delete('/resources/:id', (req, res) => {
  // ...
});

上述代码定义了五个路由,用于获取所有资源、获取单个资源、创建资源、更新资源和删除资源。:id 是 URL 参数,它表示资源的唯一标识符。

结论

Express 是一个灵活、可扩展的 Web 应用程序框架,它为开发人员提供了一套简单而强大的工具来开发和扩展 Web 应用程序。本文介绍了 Express 的基本概念、安装方法、路由和中间件、设计模式等内容。熟练掌握 Express,可以更加高效地开发 Web 应用程序。