// 跨域配置 module.exports = { devServer: { //记住,别写错了devServer//设置本地默认端口 选填 port: 9876, proxy: { //设置代理,必须填 '/api': { //设置拦截器 拦截器格式 斜杠+拦截器名字,名字可以自己定 target: 'http://localhost:9090', //代理的目标地址 changeOrigin: true, //是否设置同源,输入是的 pathRewrite: { //路径重写 '/api': '' //选择忽略拦截器里面的单词 } } } } }不起作用,还要怎么配置
时间: 2024-02-10 13:17:42 浏览: 160
除了在代理设置中配置,还需要确保前端代码中的请求路径正确。以下是一些常见的解决方法:
1. 在前端代码中使用绝对路径访问后端,如`http://localhost:9876/api/xxx`(注意端口号应该是开发服务器的端口号而不是后端的端口号)。
2. 确保前端代码和后端代码运行在同一个域名或者子域名下。
3. 确保后端接口设置了正确的CORS响应头,允许前端请求。
如果以上方法都无效,可能需要检查本地开发服务器和后端服务器的配置,或者使用其他的跨域解决方案,如JSONP、WebSocket等。
相关问题
做了代理,为什么访问的地址还是前端的地址// 跨域配置 module.exports = { devServer: { //记住,别写错了devServer//设置本地默认端口 选填 port: 9876, //前台端口,选填的。(此处把端口改成了9876) proxy: { //设置代理,必须填 '/api': { //设置拦截器 拦截器格式 斜杠+拦截器名字,名字可以自己定 target: 'http://localhost:9090', //代理的目标地址(结合上一句的意思就是,遇到 /api默认为此处的arget) changeOrigin: true, //是否设置同源,输入是的 pathRewrite: { //路径重写 '^/api': '' //选择忽略拦截器里面的内容(将api替换成空的字符串) } } } } }
这段代码主要是为了解决前端跨域问题而设置了代理。其中,使用了devServer来配置本地开发服务器,通过设置proxy来实现对特定请求的拦截与代理。
具体来说,当前端请求以/api开头的地址时,会被拦截并转发到目标地址http://localhost:9090,从而达到跨域访问的目的。而使用pathRewrite可以对请求的路径进行重写,将/api替换成空字符串,这样目标服务器就不会收到/api的请求路径了。
需要注意的是,此处的代理只是在开发环境下使用,实际部署时还需要进行其他的跨域处理。
阅读全文
相关推荐
















