node.js的反向代理,解决浏览器的跨域问题

一、背景

        在实际项目中,因为我们大家都不是独立开发,而是和很多人一起合作。所以在开发阶段的时候,经常要调用别人的接口,这就自然产生了跨域问题。我目前已知的方法是谷歌浏览器可以解决跨域问题,在实际项目中我也是这么操作的,但是这样很麻烦,所以就用了下面这个方法,可以完美的解决浏览区的跨域问题。

二、解决方法

        第一步:先找到自己项目里面的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


三、优化以及联系我

        如果大家有什么疑问或建议可以随时联系我哦~

猜你喜欢

转载自blog.csdn.net/h_maggie/article/details/80987345