Express路由、请求和响应、路由模块化

路由(express)

创建一个router.js

//加载文件操作模块
var fs=require('fs')
var express=require('express')
//创建一个路由容器
var router=express.Router()

router.get('/',function (req,res) {
    fs.readFile('./public/value.json', function (err, data) {
        console.log(data.toString())
    })
})
//导出router容器
module.exports=router

入口js文件

var express=require('express')
var app=express()
//加载路由模块
var router=require('./router')
//把路由容器挂在app服务中
app.use(router)
//开放静态资源public文件夹
app.use('/public/',express.static('./public/'))
//配置使用art-template模板引擎
app.engine('html',require('express-art-template'))
//渲染默认是views文件夹目录里面
//如需更改
//app.set('xxx','views')
app.listen(3000,function(){
    console.log('serve is running')
})


res.location()与res.redirect()的区别

处理请求

post请求
例如:处理表单form请求

<form action="/register" method="post">
  <input type="text" name="name">
</form>

router.js文件

//加载文件操作模块
var fs=require('fs')
var express=require('express')
//创建一个路由容器
var router=express.Router()
router.post('/register',function(req,res){
    console.log(req.body)
})
//导出router容器
module.exports=router

配置解析表单post请求体插件

var bodyParser=require('body-parser')
//配置解析表单post请求体插件(在挂载router之前)
app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json)

入口文件

var express=require('express')
var app=express()
//加载body-parser模块
var bodyParser=require('body-parser')
//加载路由模块
var router=require('./router')

//配置模板引擎和body-parser一定要在app.use(router)
//parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json())
//配置使用art-template模板引擎
app.engine('html',require('express-art-template'))
//把路由容器挂在app服务中
app.use(router)
//开放静态资源public文件夹
app.use('/public/',express.static('./public/'))

//渲染默认是views文件夹目录里面
//如需更改
//app.set('xxx','views')
app.listen(3000,function(){
    console.log('serve is running')
})

请求和响应

Express 应用使用回调函数的参数: request 和 response 对象来处理请求和响应的数据

app.get('/', function (req, res) {
   
})

Request 对象 - request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性。常见属性有

req.path:获取请求路径

Response 对象 - response 对象表示 HTTP 响应,即在接收到请求时向客户端发送的 HTTP 响应数据。常见属性有:

res.set():设置HTTP头,传入object可以一次设置多个头
res.send():传送HTTP响应
res.json():传送JSON响应
res.status():设置HTTP状态码 
如:res.status(404).send('Sorry, we cannot find that!');
res.status(500).send({ error: 'something blew up' });
res.end()  用于快速结束没有任何数据的响应。
但也可以发送字符串,boolean等类型

express 拓展路由(路由模块化)

express 拓展路由(路由模块化)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李和贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值