Express请求处理

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'))

猜你喜欢

转载自blog.csdn.net/weixin_47085255/article/details/107499526
今日推荐