📅  最后修改于: 2023-12-03 14:41:04.655000             🧑  作者: Mango
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(Model-View-Controller)模式是一种非常流行的应用程序设计模式。在 MVC 模式中,应用程序被分成三个部分:模型、视图和控制器。在 Express 应用程序中,通常使用以下目录结构来组织 MVC 模式:
.
├── models
│ ├── user.js
│ └── ...
├── views
│ ├── home.ejs
│ └── ...
└── controllers
├── home.js
└── ...
上述目录结构中,models
目录包含了应用程序的所有数据模型,views
目录包含了应用程序的所有视图,controllers
目录包含了应用程序的所有控制器。每个控制器负责处理一个或多个路由,并且使用模型和视图来生成 HTML 内容。
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 应用程序。