vue-cli项目本地代理实现跨域请求

Posted 古兰精

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-cli项目本地代理实现跨域请求相关的知识,希望对你有一定的参考价值。

  使用 Vue-cli 创建的项目,开发地址是 localhost:8080,需要访问非本机上的接口http://10.1.0.34:8000/queryRole。不同域名之间的访问,需要跨域才能正确请求。跨域的方法很多,通常都需要后台配置,不过 Vue-cli 创建的项目,可以直接利用 Node.js 代理服务器,通过修改vue proxyTable接口实现跨域请求,在vue-cli项目中的config文件夹下的index.js配置文件中,修改前的dev:
dev: {  
    env: require(./dev.env),  
    port: 8080,  
    autoOpenBrowser: true,  
    assetsSubDirectory: static,  
    assetsPublicPath: /,  
    proxyTable: {}, 
    cssSourceMap: false  
  }

  只要修改里面的proxyTable: {}项

proxyTable: {  
    /api: {  //代理地址  
        target: http://10.1.0.34:8000/,  //需要代理的地址  
        changeOrigin: true,  //是否跨域  
        secure: false,    
        pathRewrite: {  
            ^/api: ‘‘   //本身的接口地址没有 ‘/api‘ 这种通用前缀,所以要rewrite,如果本身有则去掉  
        }
    }
}

  然后重启项目npm run dev

  请求数据时URL前加上“/api”就可以跨域请求了

self.$axios.get(/api/queryRole, {params: params})  
    .then((res) => {  
        console.log(res);  
    }).catch((err) => {  
        console.log(err);  
    })

 

以上是关于vue-cli项目本地代理实现跨域请求的主要内容,如果未能解决你的问题,请参考以下文章

Vue-cli创建项目从单页面到多页面4 - 本地开发服务器设置代理

vue-cli 配置服务端口反向代理

使用vue-cli+axios配置代理进行跨域访问数据

vue-cli反向代理跨域请求

vue-cli项目代理proxyTable配置exclude的方法

vue-cli 配置proxyTable解决跨域 配置了但是无效,还是本地的服务器