第2章 Express 基础(一)

在本章中,我们将详细探讨 Express 的基础概念和功能,包括路由、中间件、模板引擎和静态文件服务。这些内容是使用 Express 开发 Web 应用程序的基础。

1 路由基础

路由是指如何定义应用的各个 URL 路径及其处理方式。在 Express 中,可以使用 app.getapp.postapp.putapp.delete 等方法定义不同的路由。每个路由方法对应一个 HTTP 请求方法(GET、POST、PUT、DELETE 等)。

基本路由示例:

// 引入 Express 模块
const express = require('express');

// 创建一个 Express 应用
const app = express();

// 定义一个处理 GET 请求的路由
app.get('/', (req, res) => {
    res.send('Hello, GET request!');
});

// 定义一个处理 POST 请求的路由
app.post('/submit', (req, res) => {
    res.send('Form submitted via POST request!');
});

// 定义一个处理 PUT 请求的路由
app.put('/update', (req, res) => {
    res.send('Resource updated via PUT request!');
});

// 定义一个处理 DELETE 请求的路由
app.delete('/delete', (req, res) => {
    res.send('Resource deleted via DELETE request!');
});

// 启动服务器,监听指定端口
const port = 3000;
app.listen(port, () => {
    console.log(`Server is running on http://localhost:${port}`);
});

代码详解:

  • app.get('/', (req, res) => {...});:处理 GET 请求。当用户访问根路径 / 时,发送 “Hello, GET request!” 响应。
  • app.post('/submit', (req, res) => {...});:处理 POST 请求。当用户提交表单到 /submit 路径时,发送 “Form submitted via POST request!” 响应。
  • app.put('/update', (req, res) => {...});:处理 PUT 请求。当用户发送 PUT 请求到 /update 路径时,发送 “Resource updated via PUT request!” 响应。
  • app.delete('/delete', (req, res) => {...});:处理 DELETE 请求。当用户发送 DELETE 请求到 /delete 路径时,发送 “Resource deleted via DELETE request!” 响应。
2 路由参数

Express 路由可以包含动态参数,这些参数可以在请求处理过程中获取和使用。路由参数通过冒号 : 定义,并在请求处理函数中通过 req.params 访问。

示例:

// 定义一个包含动态参数的路由
app.get('/user/:id', (req, res) => {
    // 获取路由参数 id
    const userId = req.params.id;
    res.send(`User ID: ${userId}`);
});

当用户访问 /user/123 时,响应内容将为 “User ID: 123”。
在这里插入图片描述

3 路由器

在大型应用程序中,将相关的路由组织在一起是很有用的。这可以通过使用 Express 的路由器(express.Router)来实现。

示例:

// 引入 Express 和路由器模块
const express = require('express');
const router = express.Router();

// 定义用户相关的路由
router.get('/profile', (req, res) => {
    res.send('User profile page');
});

router.get('/settings', (req, res) => {
    res.send('User settings page');
});

// 将路由器挂载到应用中
const app = express();
app.use('/user', router);

// 启动服务器
const port = 3000;
app.listen(port, () => {
    console.log(`Server is running on http://localhost:${port}`);
});

当用户访问 /user/profile/user/settings 时,将分别看到 “User profile page” 和 “User settings page”。
在这里插入图片描述

  • 19
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值