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 }