react中使用nextjs框架,前端调后端接口跨域解决方式

前端在项目目录中next.config.js文件中添加以下代码

javascript 复制代码
async rewrites() {
    return [
      {
        source: "/api/:path*",
        destination: `${process.env.NEXT_PUBLIC_API_DOMAIN}/api/:path*`,
        basePath: false
      }
    ]
  }

截图:

  • source: "/api/:path*" : 定义了一个 URL 模式,匹配所有以 /api/ 开头的请求,并将 :path* 作为一个通配符来匹配其后的路径部分。

  • destination: "${process.env.NEXT_PUBLIC_API_DOMAIN}/api/:path*" : 将匹配的请求代理到 NEXT_PUBLIC_API_DOMAIN 所定义的后端 API。process.env.NEXT_PUBLIC_API_DOMAIN 是一个环境变量,通常在 .env 文件中定义。例如,如果 NEXT_PUBLIC_API_DOMAIN (后端接口ip:端口)的值是 https://api.example.com,那么请求 http://localhost:3000/api/users 就会被代理到 https://api.example.com/api/users

  • basePath: false : 禁用 basePath,确保重写规则不受 basePath 配置的影响。

注意:不要配置axios的baseURL,让其默认是localhost:xxx地址请求接口,它会转发到**${process.env.NEXT_PUBLIC_API_DOMAIN}/api/:path*地址**

相关推荐
张元清2 分钟前
React useInterval Hook:没有过期闭包的 setInterval (2026)
javascript·react.js
MXN_小南学前端2 分钟前
React超长文本域中实现“返回顶部”浮动按钮
前端·javascript·react.js
gs8014031 分钟前
解构 Cordis:面向“时空可组合性”的 TypeScript 元框架深度剖析
前端·javascript·typescript
Highcharts.js1 小时前
Highcharts大数据渲染模块Boost实战与参数最佳实践表
javascript·数据可视化·boost·highcharts·大数据渲染·加速配置·参数表
岁岁种桃花儿1 小时前
Vue核心语法第一篇:Vue是什么?
前端·javascript·vue.js
Highcharts.js2 小时前
数据可视化避坑指南 ——开发中常见图表错误与修复方案
javascript·信息可视化·数据可视化·highcharts·数据可视化避坑·修复方案
观无2 小时前
若依EasyExcel实现单元格合并
开发语言·前端·javascript
愚公搬代码2 小时前
【愚公系列】《Web应用安全》001-VMware的安装
前端·安全
xiaohaiAIgeo2 小时前
【2026年】HG/T 20656-2024化工暖通空调设计规范:新版标准的变化与影响
java·前端·javascript·科普知识
立少→万能汉编2 小时前
用“立少→超文本”写静态网页,标签<倍>
服务器·前端·javascript