从0开始学前端 第七十一课:Node.js Express框架基础

第七十一课:Node.js Express框架基础

学习目标
  1. 掌握Express框架的安装及其基本使用方法。
  2. 理解路由的工作原理以及如何定义路由来处理HTTP请求。
  3. 学习中间件(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的会额外打印请求类型。

课后练习
  1. 创建一个Express应用,它能处理GET和POST请求,并且对于每个请求都打印出请求类型和当前时间。
  2. 为该应用添加一个路由,允许用户通过/users/:userId/books/:bookId来获取特定用户的特定书籍信息。
  3. 实现一个中间件,它能够记录并打印每次请求的详细信息,包括请求路径和查询参数。

练习解析

  1. 你需要创建基本的服务器,并定义GET和POST路由,同时使用app.use来添加一个全局中间件,它会为每个请求打印出请求类型和当前时间。

  2. 你将要定义一个带有参数的路由,使用req.params来获取userIdbookId,并发送回一个包含这些参数的响应。

  3. 创建一个中间件,它应该在请求处理流程的某个点被调用,并使用req.pathreq.query来获取请求的详细信息,然后将这些信息打印出来。

通过这些练习,你将能更深入地理解Express框架的工作原理,以及如何在Node.js中创建和管理Web服务器和API。


章节目录
第七十二课 Node.js - 使用Express构建RESTful API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值