1. 构建模块化路由
- home.js
const express = require('express')
const home = express.Router()
home.get('/index', (req, res) => {
res.send('欢迎来到博客首页页面')
})
module.exports = home
- admin.js
const express = require('express')
const admin = express.Router()
admin.get('index', (req, res) => {
res.send('欢迎来到博客管理页面')
})
module.exports = admin
- app.js
const express = require('express')
const app = express()
const home = require('./router/home')
const admin = require('./router/admin')
app.use('/home', home)
app.use('/admin', admin)
app.listen(3000, () => console.log('running...'))
2. GET参数的获取
Express框架中使用req.query即可获取GET参数, 框架内部会将GET参数转换为对象并且返回
app.get('/index', (req, res) => {
// 获取get请求参数
res.send(req.query)
})
3. POST参数的获取
Express中接受post请求参数需要借助第三方包 body-parser
// 拦截所有请求
// extended: false 方法内部使用querystring模块处理请求参数的格式
// extended: true 方法内部使用第三方模块qs处理请求参数的格式
app.use(bodyParser.urlencoded({ extended: false }))
app.post('/add', (req, res) => {
// 接受post请求参数
res.send(req.body)
})
4. Express 路由参数
const express = require('express')
const app = express()
app.get('/index/:id', (req, res) => {
res.send(req.params) // {"id":"123"}
})
app.listen(3000, () => console.log('running...'))
5. 静态资源的处理
通过Express内置的express.static可以方便地托管静态文件, 例如img, css,JavaScript文件等
// 实现静态资源访问功能
app.use(express.static('public'))