大家好,能帮我一下吗?
我正在尝试配置我的假API以创建一些个人项目,但在我的情况下,只有使用/pages/api文件夹的方法在本地主机上才能正常工作,当我部署到Vercel服务器时,项目无法找到我的端点。
在我的情况下,我使用src/文件夹方法来开发我的应用程序,我不知道这种结构是否会对api文件夹造成问题。
我尝试过的一个有效方法是使用应用程序根目录下的api文件夹(而不是/src文件夹)将其部署到Vercel上,但是在本地主机上,该api会停止工作。
这种结构在本地主机上可行,但在服务器上不可行:
├───public/
├───src/
├───api/
├───pages/
...
next.config.js
package.json
这个结构在服务器上有效,但在本地主机上无效:
├───api/
├───public/
├───src/
├───pages/
...
next.config.js
package.json
这是我正在使用的获取数据的方法:
AXIOS API:
import axios from 'axios'
const api = axios.create({
baseURL: '/api/'
})
export default api
SWR HOOK:
import api from 'src/services/api'
import useSWR from 'swr'
function SwrFetchHook<Data = any, Error = any>(url: string) {
const { data, error } = useSWR<Data, Error>(url, async url => {
const response = await api.get(url)
return response.data
})
return { data, error }
}
export default SwrFetchHook
SWR 回调:
const { data } = SwrFetchHook<INavItem[]>('categories')
我希望能够解释清楚,我的问题是如何最好地处理这个特性,因为/src文件夹通常与nextjs一起使用,但我不知道这是否是api文件夹的真正问题。
谢谢!
/pages/api
文件夹中。api
文件夹必须位于pages
文件夹内。 - juliomalves