vue项目的代理跨域

最近在从0开始学习构建vue项目,偶尔记录笔记。

首先我们知道跨域是浏览器为了安全而做出的限制策略,保证浏览器的请求只能遵循同源策略:同域名、同端口、同协议。

常用的解决跨域问题的方法有CORS跨域、JSONP跨域、代理跨域等。其中CORS跨域只需要后端进行修改即可,但后端方面改动会略为麻烦;JSONP跨域的话前后端都需要修改,前端不仅要另外下载jsonp插件,并且不能使用axios来进行请求,后期修改也较为麻烦;如果是代理跨域,只需要前端修改即可,并且前端实现需求的时候十分自由,该方式较之前两种更为方便。现记录一下如何在vue项目中进行代理跨域。

1.首先,在用脚手架创建完的项目根目录下,新建一个vue.config.js的文件,该文件用来配置项目的webpack设置。

2.然后复制下方代码,粘贴进vue.config.js中,然后根据需要进行修改,下面列出了各个字段的说明。

module.exports = {
    devServer:{
        host:"localhost",
        port:8080,
        proxy:{
            '/api':{
                target:'https://www.imooc.com',
                changeOrigin:true,
                pathRewrite:{
                    '/api':''
                }
            }
        }
    }
}

3.接下来说明每个字段的作用

module.exports: 导入模块,因为这是对webpack的配置,所以只能使用commomJS的导入方式。

devServe:node.js启动时会先默认加载这个配置表

host:我们所要访问的主机。(应该是显示在请求里的表面主机域名)

port:配置访问的端口,启动的时候默认是8080,不过也能改成其他端口。

proxy:代理设置。

‘/api’: 代理时需要监听的字段,当监听到有这个字段时,便会启动代理。

target: 实际需要所访问数据的站点,即把监听到上面/api字段的请求的实际主机域名转换为该项所配置的值。

changeOrigin: 是否在请求时需要把某些接口字段修改为其他的值,若该项设为false,那么下一项pathRewrite可以直接不用写了。

pathRewrite:当changeOrigin为true时,需要配置该项;该项是一个对象,如果接口(域名部分相邻的后面)有该对象的键,那么就把接口里等于该键的字段改为该键的值;上面的代码就是把所监听到的“/api”转换为空字符串。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值