能否在NextJS中使用Golang编写API路由并按指定目录部署?
在Next.js中用Golang编写API路由的可行性
结论:默认情况下Next.js不支持在pages/api目录下直接用.go文件作为API路由。Next.js的API路由机制基于Node.js运行时,默认仅识别.js、.ts、.jsx、.tsx类型的文件,你期望的pages/api/name.go结构无法被直接解析,访问/api/name会返回404。
如果想在Next.js项目中使用Golang编写API,有几种可行方案:
- 独立部署Golang后端服务:将Golang API作为独立服务部署,Next.js通过
fetch等HTTP请求工具调用该服务的接口,两者分开运行。 - 自定义Node.js服务器:借助Next.js的自定义服务器能力,在Node.js服务器中集成Golang服务的调用逻辑,或是通过子进程启动Golang服务并转发请求。
- 适配边缘运行时:部分部署平台支持非Node.js运行时的边缘函数,需按照平台要求打包部署Golang代码,但同样不能直接放在
pages/api目录下。
内容的提问来源于stack exchange,提问作者ANKAN
相关产品推荐
相关产品推荐

