跨域问题解决了很长时间,一直踩坑,但是今天终于解决了。网上关于跨域的博客很多但方法还是那几种,最主要的问题是忽略的版本的更新。
下面我将针对新版本写一下跨域的解决方法。
在这里我们手动配置代理:
注意:此功能可用于react-scripts@2.0.0或更高版本
首先:
$ npm install http-proxy-middleware --save
$#或
$ yarn添加http-proxy-middleware
接着在src目录下新建一个setupProxy.js。如图所示:
最后在settupProxy.js中写入以下代码:
const proxy = require('http-proxy-middleware');
console.log(proxy);
module.exports = function(app) {
app.use(
'/api',
proxy.createProxyMiddleware({
//代理跨域目标接口
target: 'http://zyxwmj.top:10012/',
changeOrigin: true,
pathRewrite: {
"^/api": ""
}
})
);
};
重点:网上很多版本是这个样子:
const proxy = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api',
proxy({
target: 'http://localhost:5000',
changeOrigin: true,
})
);
};
但是运行起来一直报错
然后打印了一下proxy看看它究竟是何方圣神:
是一个对象,但是我们要用里面的属性所以我们需要按照上面的方法添加。