【express】路由

news/2024/7/19 11:21:35 标签: express, 前端

一、概念

路由指的是客户端的请求服务器处理函数之间的映射关系

Express中的路由分3部分组成,分别是请求的类型、请求的URL地址、处理函数,格式如下:

app.METHOD(PATH,HANDLER)

路由的匹配过程:
每当一个请求到达服务器之后,需要先经过路由的匹配,只有匹配成功之后,才会调用对应的处理函数。在匹配时,会按照路由的顺序进行匹配,如果请求类型请求的URL同时匹配成功,则Express会将这次请求转交给对应的function函数进行处理。

二、用法

1、挂载到app上

app.get('/',(req,res) => {
  res.send('Get Request.')
})

app.post('/',(req,res) => {
  res.send('Post Request.')
})

2、模块化路由
为了方便对路由进行模块化的管理,Express不建议将路由直接挂载到app上,而是推荐将路由抽离为单独的模块。

① 创建路由模块对应的.js文件
② 调用express.Router()函数创建路由对象
③ 向路由对象上挂载具体的路由
④ 使用module.exports向外共享路由对象
⑤ 使用app.use()函数注册路由模块

新建 router.js文件

// 1. 导入express
const express = require('express')
// 2. 创建路由对象
const router = express.Router()
// 3. 挂载具体的路由
router.get('/user/list',(req,res) => {
  res.send('Get user list.')
})
router.post('/user/add',(req,res) => {
  res.send('Post user add.')
})
// 4. 向外导出路由对象
module.exports = router

在 Web 服务器文件中注册路由模块

// 1. 导入路由模块
const router = require('./router')
// 2. 注册路由模块
app.use(router)

app.use()的作用就是用来注册全局中间件

3、为路由模块添加访问前缀

app.use('/api',router)

访问时要加上前缀如:http://127.0.0.1/api/user/listhttp://127.0.0.1/api/user/add


http://www.niftyadmin.cn/n/1556459.html

相关文章

正则表达式,js里的正则应用

我爱撸码,撸码使我感到快乐!大家好,我是Counter。好吧已经到凌晨了,其实还是蛮困的,体力不支了,想了想还是把今天任务结束掉吧,为期5天,又重新把JavaScript以及jQuery给大致过了一遍…

正则表达式的实现原理(一)

2019独角兽企业重金招聘Python工程师标准>>> 正则表达式大家已经非常熟悉,这里不是教大家怎么用,而是说明如何用代码实现正则表达式。该篇先理清正则表达式的组成结构: 1、正则表达式描述的是一个字符串的匹配模式,本质…

Android LruCache 缓存机制实现原理

通过使用 LruCache, 查看 LinkedHashMap 源码, 分析 LRU 算法的具体实现细节. LRU 算法描述 当序列达到设置的内存上限时, 丢弃序列中最近最少使用的元素. LruCache Android SDK 提供的使用了(Least Recently Used)最近最少使用算法的缓存类. 编写一个 LruCache, 用于缓存 Inte…

Unity 用ml-agents机器学习造个游戏AI吧(2)(入门DEMO)

前言: 上一篇博文已经介绍了Unity ml-agents的环境配置(https://www.cnblogs.com/KillerAery/p/10629963.html)了。 个人建议先敲demo再摸清概念比较容易上手。因此本文先提供一个demo示例,再提供概念相关。 本次示例:训练一个能追踪小球的游…

正则零宽断言,速记口诀

1&#xff0c;号的&#xff0c;是肯定匹配 2&#xff0c;< 号的 &#xff0c;是写在前面的&#xff0c;取后面的值 3&#xff0c;&#xff01;号的 &#xff0c;是否定的&#xff0c; 4&#xff0c;不带<号的&#xff0c;是写在后面的&#xff0c;取前面的值&#xff0c;…

手把手教你用PyTorch实现图像分类器(第二部分)

本文为 AI 研习社编译的技术博客&#xff0c;原标题 &#xff1a; Implementing an Image Classifier with PyTorch: Part 2 作者 | Jose Nieto 翻译 | Jeffery26 校对 | 酱番梨 审核 | 酱番梨 整理 | 立鱼王 原文链接&#xff1a; https://medium…

作业——06 获取一篇新闻的全部信息

作业的要求来自于&#xff1a;https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2894 给定一篇新闻的链接newsUrl&#xff0c;获取该新闻的全部信息 标题、作者、发布单位、审核、来源 发布时间:转换成datetime类型 点击&#xff1a; newsUrlnewsId(使用正则表达式re)…

这3条将是云计算2019年发展趋势

随着5G标准的落地和工业互联网的发展&#xff0c;2019年的云计算将获得更多的发展机遇。云计算还将围绕工业互联网的发展需求提供更全面的服务&#xff0c;主要包括以下几个方面&#xff1a; 这3条将是云计算2019年发展趋势&#xff08;1&#xff09;云计算服务逐渐从aas转向Pa…