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*地址**

相关推荐
abcefg_h2 分钟前
GO Web开发详细流程(无框架,restful风格,MVC架构)
开发语言·前端·golang
码界奇点4 分钟前
基于Spring Cloud Alibaba与Vue.js的分布式在线教育系统设计与实现
前端·vue.js·分布式·spring cloud·架构·毕业设计·源代码管理
fruge4 分钟前
Web Components 封装实战:打造可复用的跨框架组件
前端
糖墨夕5 分钟前
超越随机:JavaScript中真正可靠的唯一标识符生成策略
前端·javascript
码界奇点5 分钟前
基于SpringBoot3+Vue的前后端分离电商系统设计与实现
前端·javascript·vue.js·spring·毕业设计·鸿蒙系统·源代码管理
wordbaby14 分钟前
macOS ⇄ Android 局域网无线传输 APK 终极方案
前端
m0_4711996314 分钟前
【vue】通俗易懂的剖析vue3的响应式原理
前端·javascript·vue.js
LYFlied19 分钟前
【一句话概括】前端项目包管理器怎么选?
前端·npm·pnpm·yarn
Sui_Network21 分钟前
Sui 主网升级至 V1.61.2
大数据·前端·人工智能·深度学习·区块链
哟哟耶耶24 分钟前
css-Echarts图表tooltip / label文本过长 超出屏幕边缘或容器范围
前端·javascript·echarts