时间:2021-05-26
vue本地项目调试线上接口出现跨域问题
使用方法:vue在配置文件中提供了proxyTable来设置跨域,在config文件夹的index.js文件中
dev: { //开发环境下 // 静态资源文件夹 assetsSubDirectory: 'static', // 发布路径 assetsPublicPath: '/', // 代理配置表,在这里可以配置特定的请求代理到对应的API接口 // 例如将'localhost:8080/api/xxx'代理到'http://xxxxxxx.com/xxx' proxyTable: { '/api': { target: 'http://xxxxxx.com', // 接口的域名 // secure: false, // 如果是https接口,需要配置这个参数 changeOrigin: true, // 如果接口跨域,需要进行这个参数配置 pathRewrite: { '^/api': '', // 这种接口配置出来 http://xxxxxx.com:8080/xxx } } }}关于pathRewrite中'^/api'的作用:
用代理, 首先你得有一个标识, 告诉他你这个连接要用代理. 不然的话, 可能你的 html, css, js这些静态资源都跑去代理. 所以我们只要接口用代理, 静态文件用本地。
'/api': {}, 就是告诉node, 我接口只要是'/api'开头的才用代理.所以你的接口就要这么写 /api/xx/xx. 最后代理的路径就是 http://xxxxxx.com/api/xx/xx.
可是不对啊, 我正确的接口路径里面没有/api啊. 所以就需要 pathRewrite,用''^/api'':'', 把'/api'去掉, 这样既能有正确标识, 又能在请求接口的时候去掉api
补充知识:vue2./vue.3.x实现跨域(proxytable/proxy)
vue2.x
config/index.js
proxyTable: { '/api': { target: 'http://localhost:3000/', // 请求的接口的域名 // secure: false, // 如果是https接口,需要配置这个参数 changeOrigin: true, // 如果接口跨域,需要进行这个参数配置 pathRewrite: { '^/api': '' } } },vue3.x
vue.config.js
module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:8080/', changeOrigin: true, ws: true, pathRewrite: { '^/api': '/static/mock' } } } } }以上这篇Vue项目前后端联调(使用proxyTable实现跨域方式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近在做一个前后端分离的项目,前端用的是Vue后端使用的是springboot,在项目整合的时候发现前端调用后端接口报错403跨域请求问题前端跨域请求已解决,那
vue-cli中可以通过配置proxyTable解决开发环境的跨域问题,具体可以参考这篇文章:Vue-cliproxyTable解决开发环境的跨域问题如果后端接
使用vue+axios+springboot前后端分离项目时会出现跨域问题解决方式:一:全局配置/***就是注册的过程,注册Cors协议的内容。*如:Cors协
使用vue-cli搭建的vue项目可以使用在项目内设置代理(proxyTable)的方式来解决跨域问题设置配置项的目录在config下的index.js,主要通
前言目前前端解决跨域,主要是通过webpack的devServer来配置。但是有时候开发环境中没有配置devServer,后端又没有设置跨域。前后端分离项目,本