一、什么是路由?
在Express 中,路由指的是客户端的请求与服务器处理函数之间的映射关系。
二、Express中路由的组成
代码语言:javascript复制在Express中,路由分3部分组成:请求的类型、请求的URL地址、处理函数,格式如下:
/*server是使用express创建的服务实例*/
server.METHOD(PATH,HANDLER)
三、路由的模块化
为了方便对路由进行模块化的管理,Express 不建议将路由直接挂载到app上,而是推荐将路由抽离为单独的模块。
将路由抽离成单独的模块的步骤如下:
创建路由模块对应的js文件。
调用express.Router()函数创建路由对象。
向路由对象挂载具体的路由。
使用modules.exports向外共享路由对象。
代码语言:javascript复制// 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('Add new user')
})
// 4、向外导出路由
module.exports = router
使用server.use()函数注册路由模块。
代码语言:javascript复制const express = require('express')
const server = express()
// 1、导入路由模块
const router = require('./router/router')
// 2、注册路由模块
server.use(router)
server.listen(80, () => {
console.log('server running at http://127.0.0.1');
})
四、为路由添加访问前缀
代码语言:javascript复制类似于托管静态资源时,为静态资源统一挂载访问前缀一样,路由模块添加前缀的方式也非常简单。
const express = require('express')
const server = express()
// 1、导入路由模块
const router = require('./router/router')
// 2、注册路由模块
// server.use(router)
// 3、给路由模块添加访问前缀
server.use('/api',router)
server.listen(80, () => {
console.log('server running at http://127.0.0.1');
})