Express框架-day02

本文介绍如何使用Express框架托管静态资源,包括CSS和图片,并演示了如何通过拆分路由来优化项目结构,提高代码可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

托管静态资源

在项目的根目录下,创建一个用于存放静态资源的目录,例如,public目录,并让Express帮我们托管目录中静态资源。

// 让Express帮我们托管目录中静态资源。
app.use(express.static('./public'))

在public目录下创建css目录,然后在css/目录下创建style.css文件

h1 {
    color: red;
}

接下来,我们就可以在模板文件中使用这些静态资源

    // 引入css文件
<link rel="stylesheet" href="/css/style.css">
<%# / 就代表 http://localhost:3000/public/ %>
// 引入图片文件
    <img src="/images/photo.png" alt="沙滩">

拆分路由

随着项目的开发,app.js文件中的内容变得越来越多,逻辑越来越复杂,不利己后期调试和维护。为了解决这个问题,我们可以将业务相关的内容拆分到单独的文件中。

1、新建routes/文件夹,然后在文件夹中创建user-auth.js文件。

const express = require('express');

// 创建一个路由器对象
const router = express.Router();

// 在路由器对象中配置路由
router.get('/doLogin', (req, res) => {
    res.render('login', { title: '欢迎登陆' })
})

router.get('/doLogout', (req, res) => {
    res.render('logout', { title: 'About Page' })
})

router.get('/doRegister', (req, res) => {
    res.render('register', { title: 'About Page' })
})

// 将路由器对象导出
exports = module.exports = router

2、在app.js文件导入user-auth.js文件

// 导入用户身份校验的模块
const userAuthRouter = require('./routes/users-auth.js');

3、使用app.use()启用userAuthRouter对象中配置的路由

app.use('/users', userAuthRouter)

4、在浏览器中访问时,完整的请求路径是由两部分拼接而成的。例如,访问登陆页面时,完整的路径为:

http://localhost:3000/users/doLogin

/users 位于 app.js 文件中
/doLogin 位于 user-auth.js 文件中

重定向原理

在这里插入图片描述

中间件

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值