第七十一课:Node.js Express框架基础
学习目标
- 掌握Express框架的安装及其基本使用方法。
- 理解路由的工作原理以及如何定义路由来处理HTTP请求。
- 学习中间件(Middleware)的概念及其在Express应用中的作用。
学习内容
1. Express的安装和基本使用
Express是一个灵活的Node.js Web应用框架,提供了一系列强大的功能,帮助你创建各种Web应用和API。
安装Express:
npm install express --save
基本使用:
创建一个简单的Express服务器:
// 引入Express模块
const express = require('express');
// 创建一个Express应用
const app = express();
// 定义一个基本的路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
// 让应用监听3000端口
app.listen(3000, () => {
console.log('App listening on port 3000');
});
预计输出效果:当你访问http://localhost:3000/
时,你会在浏览器中看到"Hello World!"。
2. 路由
路由是指定义应用端点(URI)和如何响应客户端请求的方法。在Express中,路由使用方法如app.get
, app.post
, app.put
, app.delete
等来匹配HTTP请求的类型。
定义路由:
// 用户列表页
app.get('/users', (req, res) => {
res.send('Users List');
});
// 用户详情页
app.get('/users/:userId', (req, res) => {
res.send(`User ID: ${req.params.userId}`);
});
预计输出效果:当你访问http://localhost:3000/users
时,看到"Users List"。访问http://localhost:3000/users/123
时,看到"User ID: 123"。
3. 中间件
中间件是一个函数,它可以访问请求对象(req),响应对象(res),和应用中请求-响应循环流程中的下一个中间件函数,通常表示为变量next
。
使用中间件:
app.use((req, res, next) => {
console.log('Time:', Date.now());
next();
});
app.use('/users/:userId', (req, res, next) => {
console.log('Request Type:', req.method);
next();
});
预计输出效果:任何到达服务器的请求都会在控制台打印当前时间。而请求到/users/:userId
的会额外打印请求类型。
课后练习
- 创建一个Express应用,它能处理GET和POST请求,并且对于每个请求都打印出请求类型和当前时间。
- 为该应用添加一个路由,允许用户通过
/users/:userId/books/:bookId
来获取特定用户的特定书籍信息。 - 实现一个中间件,它能够记录并打印每次请求的详细信息,包括请求路径和查询参数。
练习解析
-
你需要创建基本的服务器,并定义GET和POST路由,同时使用
app.use
来添加一个全局中间件,它会为每个请求打印出请求类型和当前时间。 -
你将要定义一个带有参数的路由,使用
req.params
来获取userId
和bookId
,并发送回一个包含这些参数的响应。 -
创建一个中间件,它应该在请求处理流程的某个点被调用,并使用
req.path
和req.query
来获取请求的详细信息,然后将这些信息打印出来。
通过这些练习,你将能更深入地理解Express框架的工作原理,以及如何在Node.js中创建和管理Web服务器和API。