http 代理 ‘‘百度‘‘

  1. 依赖第三方模块   http-proxy-middleware   先下载
// 什么是代理?
// 由于前端的浏览器的同源策略,导致前端不能请求不同源的地址, 这是由于浏览器的同源策略导致的

// 前端解决跨域的方式
// 第一种方式: jsonp
// 第二种方式:服务器代理

// node 服务器要实现代理需要使用第三方模块,http-proxy-middleware
// 首先需要安装 npm install http-proxy-middleware
// 导入到项目中  const httpproxymiddleware = require('http-proxy-middleware);
// 导入 http 模块, 搭建服务器
const http = require('http');
// 导入fs 模块
const fs = require('fs');
// 导入代理模块
const httpproxymiddleware = require('http-proxy-middleware');
// console.log(httpproxymiddleware);
const app=  http.createServer((req, res) => {
    if (req.url == '/') {
        let data = fs.readFileSync('./ajax.html')
        res.end(data)
    } else if (req.url == '/api') {
        // createProxyMiddleware 方法创建代理 参数为一个配置对象
        // 参数1 :target: '目标地址',
        // 参数2 :changeOrigin:true,
        // 参数3 :pathRewrite:{'将当前地址':''} 将当前地址替换成''
        // 该方法 返回一个函数,
        let fn = httpproxymiddleware.createProxyMiddleware({
            target: 'https://www.baidu.com/',
            changeOrigin: true,
            pathRewrite: {
                '/api': ''
            }
        })
        // console.log(11, fn);
        // 使用该函数处理这次请求,将req 和res 作为实参传入该函数中,
        fn(req, res)
    } else {
        res.end('123')
    }
})

 app.listen(8000)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值