html
在Express中,路由的主要职责 就是 把客户端的请求,分发到对应的处理函数中。
前端
router.jsexpress
// 路由模块只关心路由规则对象的对应关系,并不关系处理函数,须要把处理函数抽离出去 --- 单一路由职责 // 导入 express const express = require('express') // 调用express.Router(),返回 const router = express.Router() // 导入 controller 业务处理模块 const ctrl = require('./controller') // 建立路由规则 router.get('/', ctrl.showIndexPage) router.get('/about.html', ctrl.showAboutPage) router.get('/movie.html', ctrl.showMoviePage) router.post('/adduser', ctrl.addUser) // 暴露路由对象 module.exports = router
app.js后端
// 导入模块 const express = require('express') // 建立服务器 const app = express() // 导入路由模块,获得路由对象 const router = require('./router') // 使用app.use() 方法,安装到app服务器上 app.use(router) // 启动服务器 app.listen(4444, () => { console.log('express server running at http://127.0.0.1:4444') })
controller.js业务处理模块服务器
const showIndexPage = (req, res) => { res.send('./views/index.html', {root: __dirname}) } const showAboutPage = (req, res) => { res.send('./views/about.html', {root: __dirname}) } const showMoviePage = (req, res) => { res.send('./views/movie.html', {root: __dirname}) } const addUser = (req, res) => { res.send('添加用户成功!') } module.exports = { showIndexPage, showAboutPage, showMoviePage, addUser }