Next.js 如何配置实现将 src/pages/api 目录移至 src 根目录下
Next.js 实现独立平级api目录的方案说明
Next.js 原生框架未提供直接将api目录从pages内拆分到与pages平级的官方配置开关。核心团队在设计上将API路由归类为页面路由体系的下属模块,默认强制要求API路由文件嵌套在pages/api路径下才能被框架识别。
要实现Blitz.js 风格的src/pages、src/api平级结构,可通过两种无侵入方式落地:
- 路由重写映射方案
在next.config.js中配置自定义重写规则,将所有发往/api/*的请求路径,映射到src/api目录下对应的处理逻辑文件;同时在项目的jsconfig.json/tsconfig.json中配置路径别名,将@/api指向src/api路径,解决跨目录的模块引用问题。 - 构建流程插件方案
参考Blitz.js的底层实现逻辑,编写简单的本地Next.js插件,在项目构建的生命周期挂载阶段,将src/api目录下的文件临时同步到虚拟的pages/api路径下,完全保留本地的物理目录结构不做移动。
注意:哪怕完成了目录映射配置,也不能完全删除原
pages/api空目录,否则Next.js框架会判定项目无API路由能力,直接阻断相关路由的解析流程。
内容的提问来源于stack exchange,提问作者Mr. T
相关产品推荐
相关产品推荐

