一、背景
在实际项目中,因为我们大家都不是独立开发,而是和很多人一起合作。所以在开发阶段的时候,经常要调用别人的接口,这就自然产生了跨域问题。我目前已知的方法是谷歌浏览器可以解决跨域问题,在实际项目中我也是这么操作的,但是这样很麻烦,所以就用了下面这个方法,可以完美的解决浏览区的跨域问题。
二、解决方法
第一步:先找到自己项目里面的package.json,然后在和这个项目同级的地方打开dos窗口,可以按住shift+鼠标右键,然后选择“在此处打开命令行”“在此处打开Powershell窗口”,安装了git的也可以选择“git bash here”, 既然你看到这篇文章,那我觉得这些你应该能看懂。输入:
npm install --save http-proxy-middleware
第二步:打开你的项目的入口文件,默认命名是index.js,你的命名可能是app.js等等诸如此类,然后在里面加上如下代码:
const proxy = require('http-proxy-middleware');
const apiProxy = proxy({target: 'http://sit.sme.vip', changeOrigin: true,
pathRewrite:function (path, req) {
return path.replace('/api', '');
}
});
app.use('/api*',apiProxy);
说明: 1、这里的app 是指下面这个
const
express =
require(
'express');
const
app =
express();
2、这里的target填的参数是公司测试环境的地址,你可以填后端的地址。
第三步: 接口地址前面的前缀由 http://sit.sme.vip 改为 /api
三、优化以及联系我
如果大家有什么疑问或建议可以随时联系我哦~