vue-template项目(采用mock模拟数据)脚手架vue-cli升级到5.X版本,更改devServer基础配置后,发现login(携带用户名和密码参数)请求一直超时。
重新搭建了基础项目后,一一排查,发现直接在devServer.setupMiddlewares
中直接配置get或者post请求,以及post携带参数请求都没有问题,所以不是devServer配置错误
devServer.app.get('/setup-middleware/some/path', (_, response) => {
response.send('setup-middlewares option GET');
});
在vue-template项目中测试发现,如果post请求不携带参数就可正常返回值。
经查询发现是mock-server中express的中间件body-parser导致的,修改devServer的mock配置
for (const mock of mocks) {
// devServer.app[mock.type](mock.url, mock.response)
devServer.app[mock.type](mock.url, express.json(), express.urlencoded({
extended: true
}), mock.response)
}