最近做项目前端,搞完移动端,再做管理系统的时候出现这个跨域问题。
解决方法,在项目的vite.config.js加上这段代码就行了。
server: {
cors: true,
proxy: {
'/api': {
target: "http://localhost:8080",
changeOrigin: true,
ws: true,
rewrite: (path) => path.replace(/^\/api/, '') // 重写请求
}
}
},
原理:启用CORS支持,允许前端应用安全地请求后端服务的数据,然后配置一个HTTP代理,将前端应用中的/api
请求转发到指定的后端服务器,并在转发前修改请求的origin头部和路径,以匹配后端服务的期望。简单地说就是加上这段代码后,请求路径带/api都放行。