我正在开发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-parser app.use(bodyParser.json())
我加了之后,代理就不给我用了。请求 寄语 显示错误后冻结
代理错误。无法代理请求 途径这里 从localhost:8080到 http:/address-here
网上搜索没有找到解决方法。
很久以来,我找到了一个解决方案:增加第二个param,让它成为一个新的应用程序。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'
}
}
}
};