express-模块化路由【学习篇】
小白第一次写博客望各位大佬多多包涵,借此写博客的机会促进自己更好地理解自己的所学和加深所得
首先要清楚什么是路由?
广义上来讲,路由就是映射关系。在 Express 中,路由指的是 客户端的请求 与 服务器处理 函数之间的 映射关系。
下面是最基础的路由使用方法
const express = require('express')
//创建实例
const app = express()
//挂载路由
app.get('/', (req, res) => {
res.send('hello, world')
})
//启动服务器
app.listen(80, () => {
console.log('http:127.0.0.1');
})
其次什么是模块化路由
为了方便对路由进行模块化的管理,Express 不建议将路由直接挂载到 app 上,而是推荐将路由抽离为单独的模块。(降低代码的耦合性,更好的管理)
模块化路由的过程
1.导入express
2.调用 express.Router() 函数创建路由对象
3.挂载具体的路由
4. 向外导出路由对象
5.用express.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('Add new user')
})
//4. 向外导出路由对象
module.exports = router
//模块化路由.js 文件
const express = require('express')
const app = express()
//1. 导入路由模块
const router = require('./router.js')
//2.注册路由模块
app.use(router) //还可以加路由访问前缀:app.use('/api', router)
//app.use(express.static('./files'))
//注意app.use()函数的作用,就是来注册全局中间件
app.listen(80, ()=> {
console.log('http://127.0.0.1');
})