Node-Express路由使用

前言


🫥大家好我是一溪风月程序员界的搬砖工,前面的讲解了Express框架的基本使用,那么今天我们就来学习一下路由相关的内容,在实际开发中我们一般都会和路由结合起来,而不会直接使用app的那种方式。

一.为什么要使用路由


🤡试想一下如果我们把全部的内容都存放在App中,那么App会变得非常的复杂,没有对用的层次和架构导致我们开发的东西难以维护,一方面完整的Web服务器包含非常多的处理逻辑,另一方面有些处理逻辑其实是一个整体,我们应该把他们放在一起,比如对user相关的处理。

  1. 获取用户列表
  2. 获取某一个用户的信息
  3. 创建一个新的用户
  4. 删除一个用户
  5. 更新一个用户

二.路由的相关使用


🦝我们知道在之前我们写相关代码都是基于app这个内容的,我们的代码难以组织,app会越来越繁重,不利于我们对整个项目进行管理,所以为了解决这个问题我们引入了后端路由的概念,我们可以使用express.Router来创建一个路由处理程序。

  1. 一个Router实例拥有完整的中间件和路由系统。
  2. 因此,也被称为迷你应用程序(mini-app)
js 复制代码
const express = require('express')


const userRouter = express.Router()

userRouter.get('/', (req, res, next) => {
  res.json('用户列表数据')
})


userRouter.get('/:id', (req, res, next) => {
  const id = req.params.id
  res.json('某个用户的数据id' + id)
})


userRouter.post('/', (req, res, next) => {
  res.json("创建用户成功")
})


userRouter.delete('/:id', (req, res, next) => {
  const id = req.params.id
  res.json("删除某一个用户的id" + id)
})


userRouter.patch('/:id', (req, res, next) => {
  const id = req.params.id
  res.json("修改某一个用户的数据" + id)
})

module.exports = userRouter
js 复制代码
const express = require('express')
const userRouter = require('./router/userRouter.js')
const app = express()

// 使用路由
app.use('/users', userRouter)

app.listen(9000, () => {
  console.log("服务启动成功")
})

三.总结


😎在Express中我们之前使用的都是直接基于app进行的操作的,但是这么做的缺点有很多,当我们项目复杂的话我们没有办法维护,为了解决这个问题Express就提供了路由(mini-app)我们可以直接使用express.Router()来创建,然后使用即可。

相关推荐
136096757236 分钟前
一台 4 核 8G 已经跑了 6 个站点,我是怎么把第 7 个塞进去的
后端
对象存储与RustFS8 分钟前
JuiceFS + 对象存储:把 S3 变成 POSIX 文件系统实测
后端·rust·开源
她的男孩17 分钟前
企业接口照样拦得住:独立 Flyway、@RequiresFeature 与离线许可证
java·spring boot·后端
十年Java程序媛17 分钟前
Lambda 与函数式接口|别只会复制 ()->{},底层规则和坑一次性讲清
java·spring boot·后端
yunwei3718 分钟前
eBPF 入门开发实践教程一:Hello World,基本框架和开发流程
linux·后端·性能优化
全栈Agent 小李22 分钟前
【无标题】
前端·后端·agent·ai编程·全栈·cursor·mcp
高频因子挖掘机24 分钟前
历史 K 线突然少一天?用交易日历、停牌信息和数据校验逐步排查
后端·github·api
行者全栈架构师1 小时前
从 55% 到 6%:一个快餐营养规划器的算法迭代实录
后端·算法·架构
余槐i1 小时前
无慢查询 RT 却飙升:cProfile 定位 FastAPI 事件循环阻塞
后端·python·性能优化·fastapi·asyncio
AINative软件工程1 小时前
LLM 应用的 Adaptive Batching 工程实践:动态合批把吞吐提升 3 倍,但延迟的坑你踩过吗
后端·llm·ai编程