路由模块化
入口模块 app.js
/**
* app.js 入口模块
* 启动服务
* 做一些服务相关配置
* 模版引擎
* body-parser
* 提供静态资源服务
* 挂载路由
* 监听端口启动服务
*/
var express = require("express")
var bodyParser = require("body-parser")
var app = express()
var router = require("./router") //导入路由模块
app.engine("html",require("express-art-template"))
app.use("/public/",express.static("./public/"))
app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json())
router(app) //调用路由模块
app.listen(3000,function(){
console.log("http://127.0.0.1:3000 启动")
})
路由模块router.js
模块功能要单一
/**
* router.js 路由模块
* 处理路由
*
* 模块功能要单一
*/
var fs = require("fs")
module.exports = function(app){
app.get("/",function(req,res){
fs.readFile("./db.json",'utf8',function(err,data){
if(err){
return res.status(500).send("server error")
}
res.render("index.html",{
students:JSON.parse(data).students
})
})
})
}
express路由模块化
入口模块 app.js
/**
* app.js 入口模块
* 启动服务
* 做一些服务相关配置
* 模版引擎
* body-parser
* 提供静态资源服务
* 挂载路由
* 监听端口启动服务
*/
var express = require("express")
var moment = require("moment")
var bodyParser = require("body-parser")
var app = express()
var router = require("./router")
app.engine("html",require("express-art-template"))
app.use("/public/",express.static("./public/"))
app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json())
// 4 把路由容器挂载到app服务中
app.use(router)
app.listen(3000,function(){
console.log("http://127.0.0.1:3000 启动")
})
路由模块router.js
/**
* router.js 路由模块
* 处理路由
*
* 模块功能要单一
*/
var fs = require("fs")
var express = require("express")
// 1 创建一个路由容器
var router = express.Router();
// 2 把路由都挂载到路由容器
router.get("/",function(req,res){
fs.readFile("./db.json",'utf8',function(err,data){
if(err){
return res.status(500).send("server error")
}
res.render("index.html",{
students:JSON.parse(data).students
})
})
})
// 3 把router 导出
module.exports = router
构建模版化路由
app.js
const express = require('express')
const app = express()
const router = require('./router') //router/index.js
app.use(router)
app.listen(3000,()=>console.log("服务器启动"))
router/index.js
const router = require('express').Router()
const home = require('./home')
const user = require('./user')
// http://localhost:3000/
router.get('/',(req, res)=>{
res.send("默认地址")
})
// 匹配 /home开头的路由 http://localhost:3000/home/xxx
router.use('/home',home)
// 匹配 /user开头的路由
router.use('/user',user)
// 404
router.use((req, res)=>{
res.send(":) 404 ")
})
module.exports = router
router/home.js
const router = require('express').Router()
// http://localhost:3000/home/add
router.get('/add', (req, res)=>{
res.send('/home/add')
})
module.exports = router
router/user.js
const router = require('express').Router()
// // http://localhost:3000/user/add
router.get('/add', (req, res)=>{
res.send('/user/add')
})
module.exports = router