vue-cli项目中的跨域问题

vue-cli项目中的跨域问题

一、开发环境中的跨域

vue-cli创建的项目中,前端开发测试中,常会遇到跨域的问题。跨域通常都需要后台配置,不过前端也可以处理,可以直接利用 Node.js 代理服务器,通过修改 proxyTable 实现跨域请求

在config文件夹下的index.js配置中

  dev: {

    // 静态资源文件夹
    assetsSubDirectory: 'static',

    // 发布路径
    assetsPublicPath: '/',

    // 代理配置表,在这里可以配置特定的请求代理到对应的API接口
    // 例如将'localhost:8080/api/xxx'代理到'www.baidu.com/api/xxx'
    proxyTable: {
      // 这里是配置 接口只要是'/api'开头的才用代理
      '/api': {
        target: 'http://xxxxxx.com', // 接口的域名
        // secure: false,  // 如果是https接口,需要配置这个参数
        changeOrigin: true, // 如果接口跨域,需要进行这个参数配置,为true的话,请求的header将会设置为匹配目标服务器的规则(Access-Control-Allow-Origin)
        pathRewrite: {
          '^/api': '' //本身的接口地址没有 '/api' 这种通用前缀,所以要pathRewrite重置,如果本身有则不需要配置 pathRewrite
        }
      }
    },

设置完成一定要重启 npm run dev

changeOrigin如果设置为true,那么本地会虚拟一个服务端转发你的请求,这样就不会有跨域问题了。这只适用于开发环境。vue-cli的这个设置来自于其使用的插件http-proxy-middleware

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值