webpack proxy跨域

Proxy

当下前端的开发都是前后端分离开发的,前端开发过程中代码会运行在一个服务器环境下(如当前的 WebpackDevServer),那么在处理一些后端请求的时候通常会出现跨域的问题。WebpackDevServer 内置了一个代理服务,通过内置代理就可以把我们的跨域请求转发目标服务器上(WebpackDevServer 内置的代理发送的请求属于后端 - node,不受同源策略限制)
后端代码,以 node 为例,注意 要启动服务,同时下载 koa koa-router

const Koa = require('koa');
const KoaRouter = require('koa-router');
const app = new Koa();
const router = new KoaRouter();
router.get("/",ctx=>{
    ctx.redirect("/api")//重定向
})
router.get('/api', ctx => {
    ctx.body = '我来了哈'
})
app.use(router.routes());
app.listen(8787);

前端js代码

   import axios from "axios"   
   export default async ()=>{

        // console.lo("fn") //错误演示
    // 同步    
    // axios({
     //     url: 'http://locahost:8787',
    //   }).then(res => {
    //     console.log(res);
    //   })
    // 异步
    let res = await axios({
        url: '/api',
    })
    console.log(res)
    }

修改 webpack 配置

    devServer:{ 
        contentBase:"./dist",//生成虚拟目录的路径
        open:true, //自动开启浏览器
        port:8081,  //端口
        // 开启热更新
        hot:true,
        // 即使 HMR 不生效,也不去刷新整个页面(选择开启)
        hotOnly:true,
        // 通过内置代理就可以把我们的跨域请求转发目标服务器上
        proxy: {
            '/api': {
                target: 'http://localhost:8787',
            }
            // 暗号可以有很多个
        }
    }, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jason–json

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值