NodeJs Express路由使用流程解析
作者:落雪小轩韩 发布时间:2024-05-11 10:16:56
标签:NodeJs,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/list
、http://127.0.0.1/api/user/add
来源:https://blog.csdn.net/m0_46613429/article/details/128573244


猜你喜欢
- 近来,随着XHTML(可扩展HTML)标准的出现,<script/>标签也经历了一些改变。该标签不再用language特性,而用
- 正在看的ORACLE教程是:Oracle数据库集复制方法浅议。前言 日益增长的分布式应用需求要求实现更好分布式的软件环境,不断推动着分布式技
- 临时表与内存表内存表,指的是使用Memory引擎的表,建表语法是create table … engine=memory。这种 表的数据都保
- FCKeditor是目前互联网上最好的在线编辑器,功能强大,支持IE 5.5+ (Windows), Fire
- 目录mysql主从复制mysql主从复制的方式mysql主从复制的原理mysql的主从配置的具体实现方式1、 Master配置2、 Slav
- 1.分包背景这里首先介绍下MultiDex的产生背景。当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的
- 如下所示:import jsonf = open("index.html", "wb")json.d
- 在JavaScript中有三种声明变量的方式:var、let、const。下文给大家介绍js中三种定义变量的方式const, var, le
- 1. 安装 seaborn安装:pip install seaborn导入:import seaborn as sns2.准备数据正式开始之
- 在前文说过,如果想要更好的做接口测试,我们要利用自己的代码基础与代码优势,所以该章节不会再介绍商业化的、通用的接口测试工具,重点介绍如何通过
- python-----从本地摄像头和网络摄像头截取图片 ,具体代码如下所示:import cv2# 获取本地摄像头# folder_path
- 在一个大型数据库中,数据的更改是非常频繁的。 而建立在这些数据上的索引也是需要经常去维护的。 否则这这些数据索引就起不到起应起的作用。甚至会
- 内容摘要:统计在线人数的方法很多,可以使用Application来统计在线人数,也可以使用IP来统计在线人数。各有优点。本文介绍了通过判断S
- 在使用SQL Server 的过程,中由于经常需要从多个不同地点将数据集中起来或向多个地点复制数据,所以数据的导出,导入是极为常见的操作.我
- '-----------------------------------------------------------
- 比较简单的一个页面,类似csdn论坛在ns下的左边列表 描述: 1. 数据名:tree.mdb 表名:tree 表结构:id(自编)&nbs
- 代码如下所示:# -*- coding: utf-8 -*-import base64import jsonimport urllib.pa
- 什么是 channel 管道它是一个数据管道,可以往里面写数据,从里面读数据。channel 是 goroutine 之间数据通信桥梁,而且
- 功能描述目标完成多账号微信小程序每天自动签到输出签到成功则向微信群发送签到成功的信息否则提示用户签到失败,需手动签到包管理requestsi
- input()作用:让用户从控制台输入一串字符,按下回车后结束输入,并返回字符串注意:很多初学者以为它可以返回数字,其实是错的!>&g