zoukankan      html  css  js  c++  java
  • vue开发过程中跨域问题解决

    0x00 简介

    我们在进行vue的开发过程中经常会遇到跨域问题,
    常用的解决方法是通过devServer代理做接口的转发。

    0x01 配置

    创建配置文件

    在vue目录下创建如下文件:

    填写配置文件
    const proxyObj = {}
    proxyObj['/api'] = {
      ws: false,
      target: 'http://ip:1234',
      changeOrigin: true,
      pathRewrite: {
        '^/api': ''
      }
    }
    proxyObj['/file'] = {
      ws: false,
      target: 'http://ip:4567',
      changeOrigin: true,
      pathRewrite: {
        '^/file': ''      #路径重写,当匹配到/file路径,转发时去掉/file
      }
    }
    
    module.exports = {
      devServer: {
        host: 'localhost',
        port: 80,
        proxy: proxyObj
      }
    }
    # 假设当你在前端访问http:/localhost:80/file/upload时,node会启动一个代理服务器进行转发,进行转后相当于访问http://ip:4567/upload,以此来解决跨域问题
    
    参数介绍
    target:要使用url模块解析的url字符串
    forward:要使用url模块解析的url字符串
    agent:要传递给http(s).request的对象(请参阅Node的https代理和http代理对象)
    ssl:要传递给https.createServer()的对象
    ws:true / false,是否代理websockets
    xfwd:true / false,添加x-forward标头
    secure:true / false,是否验证SSL Certs
    toProxy:true / false,传递绝对URL作为路径(对代理代理很有用)
    prependPath:true / false,默认值:true - 指定是否要将目标的路径添加到代理路径
    ignorePath:true / false,默认值:false - 指定是否要忽略传入请求的代理路径(注意:如果需要,您必须附加/手动)。
    localAddress:要为传出连接绑定的本地接口字符串
    changeOrigin:true / false,默认值:false - 将主机标头的原点更改为目标URL
    

    0x02 参考

    注意vue项目打包后,devServer代理将失效,生产环境中我们经常使用nginx进行代理。

    https://www.jianshu.com/p/f489e7764cb8
  • 相关阅读:
    CentOS 5.5 系统安全配置
    从PHP5.2.x迁移到PHP5.3.x
    快要放假了!但为什么现在感到特别的累呢?!
    C#、Oracle、Sql server中拼音查询的函数
    C#实现Word中表格信息读取
    用 win2003 架设共享服务器[3]
    用 win2003 架设共享服务器[2]
    用 win2003 架设共享服务器[1]
    c#操作word表格
    Visual Studio 2008(VS2008)升级正式版
  • 原文地址:https://www.cnblogs.com/Wuser/p/13356300.html
Copyright © 2011-2022 走看看