我正在构建vue应用程序,对于我的应用程序,需要从客户端向服务器发出api请求,还需要代理任何请求。
这是我的vue.config.js
const producer = require('./src/kafka/producer');
const bodyParser = require('body-parser')
module.exports = {
devServer: {
setup: function (app, server) {
app.use(bodyParser.json())
app.post('/send-message', function (req, res) {
producer.send(req.body)
.then(() => {
res.json({result: true, error: null});
})
.catch((e) => {
res.status(500).json({result: false, error: e});
})
});
},
proxy: {
'/v2/order/by-number': {
target: 'http://address-here'
}
}
}
};
正如你所看到的,我正在使用body解析器app.use(bodyParser.json(((
添加后,代理停止为我工作。显示错误后,请求/send消息冻结
代理错误:无法从localhost:8080代理请求此处的路径至http://address-here
互联网搜索尚未找到解决方案。
很长一段时间以来,我找到了一个解决方案:将第二个参数jsonParser
添加到app.post((
参见完整的示例
const producer = require('./src/kafka/producer');
const bodyParser = require('body-parser')
const jsonParser = bodyParser.json({limit: '1mb'});
module.exports = {
devServer: {
setup: function (app, server) {
app.post('/send-message', jsonParser, function (req, res) {
producer.send(req.body)
.then(() => {
res.json({result: true, error: null});
})
.catch((e) => {
res.status(500).json({result: false, error: e});
})
});
},
proxy: {
'path': {
target: 'http://address-here'
}
}
}
};