在《vue-cli搭建的项目中增加后台mock接口》中实现了后台mock,但是前端post的t数据都要在mock的后台接口中使用req的接收数据事件获取http协议body中的数据。
req.on('data', function(chunk){
//接收字节数据
}); req.end('data', function(){
//转换||处理
}); req.error('error', function(e){
//处理错误
});
如果前端需要使用cookie,后端要读取,那么在后台mock的接口中还要获取req的headers,并从中取得cookie字符串,自己还要分割处理等等。
当然这样是可以的,但是比较麻烦,从接收数据到转换都要自己做。
vue-cli搭建的项目是用express作为node.js的web框架,它支持丰富的中间件。
对应上述问题,有body-parser和cookie-parser中间件可以方便地将post的body中的数据和cookie自动提取成req.body和req.cookies对象供人使用,非常方便。
安装中间件
npm install body-parser --save-dev npm install cookie-parser --save-dev
引入中间件
在build/dev-server.js文件中的头部require区域末尾增加中间件require。
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
然后再紧接着var app = express()之后添加中间件调用。
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
bodyParser的两行调用方式就是分别针对content-type是‘application/json’和'application/x-www-form-urlencoded'两种设置。
添加完成后就可以方便使用了。
End