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

相关推荐
糕冷小美n4 分钟前
elementuivue2表格不覆盖整个表格添加固定属性
前端·javascript·elementui
小哥不太逍遥19 分钟前
Technical Report 2024
java·服务器·前端
沐墨染23 分钟前
黑词分析与可疑对话挖掘组件的设计与实现
前端·elementui·数据挖掘·数据分析·vue·visual studio code
anOnion29 分钟前
构建无障碍组件之Disclosure Pattern
前端·html·交互设计
threerocks31 分钟前
前端将死,Agent 永生
前端·人工智能·ai编程
问道飞鱼1 小时前
【前端知识】Vite用法从入门到实战
前端·vite·项目构建
爱上妖精的尾巴1 小时前
8-10 WPS JSA 正则表达式:贪婪匹配
服务器·前端·javascript·正则表达式·wps·jsa
shadow fish2 小时前
react学习记录(三)
javascript·学习·react.js
小疙瘩3 小时前
element-ui 中 el-upload 多文件一次性上传的实现
javascript·vue.js·ui
Aliex_git3 小时前
浏览器 API 兼容性解决方案
前端·笔记·学习