由于sever
端是别人的,所以只能在前端处理跨域请求
axios
如何处理跨域问题,我在proxyTable
里面的配置只在本地起作用的
线上环境又出现跨域问题了
由于sever
端是别人的,所以只能在前端处理跨域请求
axios
如何处理跨域问题,我在proxyTable
里面的配置只在本地起作用的
线上环境又出现跨域问题了
求大佬们轻喷,我们前后端分离的项目,跑在一个Express服务中的,代码如下,代理用的这个中间件,http-proxy-middleware。
`var express = require('express');
var proxyMiddleware = require('http-proxy-middleware');
var apiHost = 'http://172.16.0.249:8181';
var proxyTable = {
'/v1': {
target: apiHost,
changeOrigin: true,
},
'/preview': {
target: apiHost,
changeOrigin: true,
},
'/download': {
target: apiHost,
changeOrigin: true,
}
};
var app = express();
var port = 4000;
Object.keys(proxyTable).forEach(function (context) {
var options = proxyTable[context];
if (typeof options === 'string') {
options = { target: options }
}
app.use(proxyMiddleware(options.filter || context, options))
});
app.use(require('connect-history-api-fallback')());
app.use(express.static('./dist'));
var uri = 'http://localhost:' + port;
var _resolve;
var readyPromise = new Promise(function (resolve) {
_resolve = resolve;
});
console.log('> Starting prod server...' + uri);
var server = app.listen(port);
module.exports = {
ready: readyPromise,
close: function() {
server.close()
}
};`
6 回答2.9k 阅读✓ 已解决
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
暂且用 JsonBird 解决了,不过有一定的延迟,目前暂时没有找到更好的办法