You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextJS Filesystem Routing两种实现方式在大型项目中哪个更优?

结论

从可扩展性、用户可读性以及大型开源项目适配三个维度综合判断,采用pages/hello/index.js的方法B是更优的选择,具体分析如下:

可扩展性角度

  • 若后续需要为/hello路由扩展子路由(比如/hello/detail、/hello/[userId]等),只需在hello文件夹下新增对应路由文件即可,不需要改动现有文件的位置和引用关系。
  • 如果选用方法A,后续加子路由时必须先新建hello文件夹,再把原有的hello.js移入后重命名为index.js,额外增加了迁移成本,还可能引发其他文件引用该页面路径出错的问题。

用户可读性角度

  • 方法B可以把和/hello路由相关的所有资源(私有组件、样式文件、工具函数等)都收拢到同一个hello目录下,和其他页面的资源完全隔离,查找对应代码时无需在大量平级页面文件中翻找,定位效率更高。
  • 大型项目页面数量较多时,全平级的.js页面文件会非常混乱,采用文件夹按路由模块分类的方式,能让项目结构更清晰,新成员上手的理解成本也更低。

大型开源项目适配角度

  • 目前绝大多数主流的NextJS大型开源项目、官方示例都默认采用「文件夹+index.js」的路由写法,符合行业通用的约定俗成规范,其他开发者接手项目时的适配成本极低。
  • 这种结构逻辑和NextJS后续主推的App Router目录规则完全对齐,后续如果需要从Pages Router迁移到App Router,改造成本远低于平级页面文件的方案。

如果是极小的 Demo 项目,且完全确定该路由不会有子路由、也不需要关联私有资源,用方法A也完全可行,但只要项目有后续迭代的可能性,都优先推荐选择方法B。


内容的提问来源于stack exchange,提问作者RayhanADev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:18:04