6. 路由模块化
可以通过express.Router创建模块化的、可挂载的路由处理程序
1. 新建user模块
// user.js中const express = require('express')const router = express.Router() // 这里需要调用router.get('/list', (req, res) => {res.send('列表')})router.get('/add', (req, res) => {res.send('新增')})router.get('/edit', (req, res) => {res.send('修改')})module.exports = router
2. 挂载该模块
// app.js中const user = require('./routes/user')// ...app.use('/user' , user)// 可以通过/user/list等进行访问
3. 大型企业级项目架构
- 功能树:

- 项目结构:
express-study├── app.js // 注册模块整体的路由├── package.json├── routes│ ├── admin // 后台模块│ │ ├── login.js│ │ ├── nav.js│ │ └── user.js│ ├── admin.js // 后台模块的路由在这里面注册│ ├── api.js│ └── index.js├── static│ ├── css│ │ └── base.css│ └── image└── views└── login.html
模块的注册:
注册admin模块的子模块
// admin.js中const express = require("express");var router = express.Router()//引入模块const user = require("./admin/user")const login = require("./admin/login")const nav = require("./admin/nav")router.get("/",(req,res)=>{res.send("后台管理中心")})//挂载路由router.use("/user",user)router.use("/login",login)router.use("/nav",nav)module.exports = router
注册admin等模块
const express = require("express");const bodyParser = require('body-parser')const ejs = require("ejs");//引入外部模块const admin = require("./routes/admin")const index = require("./routes/index")const api = require("./routes/api")const app = express()//配置模板引擎app.engine("html",ejs.__express)app.set("view engine","html")//配置静态web目录app.use(express.static("static"))//配置第三方中间件app.use(bodyParser.urlencoded({ extended: false }))app.use(bodyParser.json())//配置外部路由模块app.use("/admin",admin)app.use("/api",api)app.use("/",index)//监听端口 端口号建议写成3000以上app.listen(3000)
4. Express应用生成器
使用express-generator 可以快速创建一个应用的骨架
// 1.安装npx express-generator// 或者cnpm install -g express-generator// 2. 创建使用ejs模板的应用express projectName
