Vue 和 React 跨域设置多个代理

前言:

        因为公司数据不能暴露,本文中的数据都是临时创建出来的,可能有问题,不要全看。

        欢迎大家点赞评论,如果内容有说的错误的或者有其他解决方法,恳请大家多多指点。

Vue 设置多个代理

        在脚手架中,创建 vue.config.js 文件,并配置:

module.exports = {
	devServer: {
	    port: 9000,  //配置浏览器打开的端口号
	    proxy: {
	      '/api': { //判断请求路径前缀是什么
	      target: 'http://localhost:3000', //请求的服务器地址
	      ws: true,     //proxy websockets
	      changeOrigin: true, //是否允许跨域
	      pathRewrite: {  //修改这个请求路径的地方
	        '^/api': ''  
	      }
	    }

            //第二个端口
        '/xxxxx': { //判断请求路径前缀是什么
	      target: 'yyyyyyyyy', //请求的服务器地址
	      ws: true,     //proxy websockets
	      changeOrigin: true, //是否允许跨域
	      pathRewrite: {  //修改这个请求路径的地方
	        '^/xxxxx': ''  
	      }
	    }
               //.....
	},
     disableHostCheck: true,  // 这是由于新版的webpack-dev-server出于安全考虑,默认检查hostname,如果hostname 不是配置内的,将中断访问,请求是已经到达服务器的
  },
}

详情可以在 DevServer | webpack 中查找

React 设置多个代理

单纯配置请求的代理

        注意,下面是区分18前和18后的不同代理

        在脚手架中的 src 文件夹中,创建 setupProxy.js 文件,并配置:

//注意引入的这个中间件不要写花括号
const createProxyMiddleware = require("http-proxy-middleware");


// 配置多个代理 这个是18之前的配置
module.exports = function (app) { //app实际上是express的服务器对象。

  // app.use使用中间件
  app.use(
    "/api",
    createProxyMiddleware({
      target: "http://localhost:3000", //服务器地址
      changeOrigin: true,  //是否允许跨域
      pathRewrite: {   //修改请求路径的地方
        '^/api': '' 
      },
    })
  );


       //第二个
  app.use(
    "/xxx",
    createProxyMiddleware({
      target: "http://yyyyyyy",
      changeOrigin: true,
    })
  ); 
    //.......
};

// 配置多个代理 这个是18时的配置
module.exports = function (app) { //app实际上是express的服务器对象。

  // app.use使用中间件
  app.use(
    createProxyMiddleware("/api", {
      target: "http://localhost:3000", //服务器地址
      changeOrigin: true,  //是否允许跨域
      pathRewrite: {   //修改请求路径的地方
        '^/api': '' 
      },
    }),

     // 第二个
     createProxyMiddleware("/xxx", {
       target: "http://yyyyyyy",
       changeOrigin: true,
     }),

     //.......
  );
     
};

详情可以在 npm 中搜索 http-proxy-middleware 中间件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值