前端为 Nuxt3 写的,开启 SSR
后端为 Node 写的服务
nuxt.config.ts文件中设置代理
nitro: {
devProxy: {
'/api/': {
target: 'http://127.0.0.1:3001/api/',
changeOrigin: true
}
}
},
在 nuxt3 项目页面中使用$fetch('/api/xxx') 可以使用且正确返回
在 middleware 中间件(不是 server 的中间件)做拦截,需要请求接口判断一些东西
export default defineNuxtRouteMiddleware(async (to, from) => {
const result = await $fetch('/api/config/info')
// $fetch('http://127.0.0.1:3001/api/config/info') 这样写全链接就能访问到
})
在中间件请求$fetch('/api/config/info') 会提示 404 Page not found (似乎是把这样的接口认为是项目本身的页接口了),使用全链接接口能正常返回,但是我发现部署到服务器之后,他是在前端发起的请求?为什么,不是服务端渲染后返回的吗?
问: