express 路由

241 阅读2分钟

路由的概念

在express中,路由指的时客户端的请求与服务器处理函数之间的映射关系 express中的路由分3部分组成,分别是请求的类型,请求的url地址,处理函数,格式如下: app.METHOD(PATH,HANDLER)

express中的路由的例子

//匹配get请求,且请求url为/
app.get('/',function(req,res){
    res.send('hello world')
})

//匹配post请求,且请求Url为/
app.post('/',function(req,res){
    res.send('got a post request')
})

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

express路由最简单的用法

//路由最简单的用法
const express=require('express');
const app=express();
 //挂在路由:
 app.get('/',(req,res)=>{
    res.send('get 请求')
 )
 
 app.post('/',(req,res)=>{
     res.send('post 请求')
 })
 
app.listen(80,()=>{
    console.log('express server is running at http://127.0.0.1')
})

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

将路由抽离为单独的模块的步骤如下:

- 1.创建路由模块对应的.js文件
- 2.使用express.Router()函数创建路由对象
- 3.向路由对象上挂在具体的路由
- 4.使用module.exports向外共享路由对象
- 5.使用app.use()函数注册路由模块

创建02-模块化路由.js,代码如下

const express=require('express');

const app=express();

//导入路由模块
const router=require('./03-router.js');

//注册路由模块

app.use(router)


app.listen(80,()=>{
    consoel.log('express server is running at http://127.0.0.1:80')
})

创建03-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')
})

//向外导出路由对象

module.exports=router