Nextjs14 开始,客户端服务端交互的时候,有几个选择
- 正常
spa开发,代理加useEffect里请求router handlerserver action

接口代理(解决跨域)
配置 next.config.js
js
async rewrites() {
return [
{
source: '/api/:path*',
destination: 'https://xxx.com/:path*' // 配置代理地址为
}
]
},async rewrites() {
return [
{
source: '/api/:path*',
destination: 'https://xxx.com/:path*' // 配置代理地址为
}
]
},环境变量
代理往往和环境变量一起使用,必须指定NEXT_PUBLIC_前缀才能在客户端访问
.env.development
js
NEXT_PUBLIC_BASE_URL=/apiNEXT_PUBLIC_BASE_URL=/api.env.production
js
NEXT_PUBLIC_BASE_URL=https://xxx.comNEXT_PUBLIC_BASE_URL=https://xxx.com使用的时候
js
let BASE_URL = process.env. NEXT_PUBLIC_BASE_URL
// 然后用在接口的地方let BASE_URL = process.env. NEXT_PUBLIC_BASE_URL
// 然后用在接口的地方