node 代理访问服务器

1、背景
由于在开发的过程中,我们经常需要访问测试/正式环境,会出现线上正常,本地访问不同
2、方案
方法一:
我们可以通过node作为中间件,解决这一问题。示例如下:

var express = require('express');
const { createProxyMiddleware} = require('http-proxy-middleware');
var app = express();
app.use('/api/', createProxyMiddleware({
    target: 'https://xxx.xxx.com/',
    secure:false,
    changeOrigin: true,

    pathRewrite: {  
	 '^/api': ''  
   }

}));
app.listen(3000); console.log('Proxy server is listen at port 3000...');

针对以上说明:

"/api"的,接口以”/api”开头的才用代理,所以写请求接口时要使用“/api/xx/xx”的形式,使用代理后生成的请求路径就是’http://localhost:3000/api/xx/xx’.
"pathRewrite"里面的意思是:当实际需要请求的路径里面没有”/api“时. 就需要 pathRewrite,用’’^/api’’:’’, 把’/api’去掉, 这样既能有正确标识, 又能在请求到正确的路径。

我们通过访问浏览器在地址栏输入http://localhost:3000,测试我们的配置的代理是否生效。
然后,我们在开发的过程中就可以用http://localhost:3000来代替我们之前访问的api地址。

posted @ 2023-05-22 22:16  joexin  阅读(60)  评论(0编辑  收藏  举报