Next.js 学习笔记(二)——项目结构

Next.js 项目结构

此页面提供了 Next.js 项目的文件和文件夹结构的概述。它涵盖了 apppages 目录中的顶级文件和文件夹、配置文件以及路由约定。

顶级文件夹

文件夹名 描述
app App Router
pages Pages Router
public 待服务的静态资源
src 可选的应用程序源文件夹

顶级文件

文件名 描述
next.config.js Next.js 的配置文件
package.json 项目依赖项和脚本
instrumentation.ts OpenTelemetry 和 Instrumentation 文件
middleware.ts Next.js 请求中间件
.env 环境变量
.env.local 本地环境变量
.env.production 生产环境变量
.env.development 开发环境变量
.eslintrc.json ESLint 的配置文件
.gitignore 要忽略的 GIT 文件和文件夹
.next-env.d.ts Next.js 的 TypeScript 声明文件
tsconfig.json TypeScript 的配置文件
jsconfig.json JavaScript 的配置文件

app 路由约定

路由文件

文件名 文件类型 描述
layout .js .jsx .tsx 布局
page .js .jsx .tsx
loading .js .jsx .tsx 加载页面
not-found .js .jsx .tsx 未找到用户页面
error .js .jsx .tsx 错误页面
global-error .js .jsx .tsx 全局错误页面
route .js .ts APP 端点
template .js .jsx .tsx 重新渲染布局
default .js .jsx .tsx 并行路由回退页面

嵌套路由

路径 描述
folder 路由段
folder/folder 嵌套路线段

动态路由

文件夹名 描述
[folder] 动态路由段
[...folder] 捕捉所有路由段
[[...folder]] 可选的捕捉所有路由段

路由组和私有文件夹

文件夹名 描述
(folder) 在不影响路由的情况下分组路由
_folder 选择文件夹和所有子段暴漏路由

平行和拦截路线

文件夹名 描述
@folder 命名插槽
(.)folder 拦截同级
(..)folder 拦截上一级
(..)(..)folder 拦截上两级
(...)folder 从根开始拦截

元数据文件约定

App 图标
文件名 文件类型 描述
favicon .ico 图标文件
icon .ico .jpg .jpeg .png .svg App 图标文件
icon .js .ts .tsx 生成的 App 图标
apple-icon .jpg .jpeg .png 苹果 App 图标文件
apple-icon .js .ts .tsx 生成的苹果 App 图标
开放图谱和推特图像
文件名 文件类型 描述
opengraph-image .jpg .jpeg .png .gif 开放图谱图像文件
opengraph-image .js .ts .tsx 生成的开放图图像
twitter-image .jpg jpeg .png .gif 推特图像文件
twitter-image .js .ts .tsx 生成的推特图片
搜索引擎优化(SEO)
文件名 文件类型 描述
sitemap .xml 站点地图文件
sitemap .js .ts 生成的站点地图
robots .txt Robots 文件
robots .js .ts 生成的 Robots 文件

pages 路由约定

特殊文件

文件名 文件类型 描述
_app .js .jsx .tsx 自定义 App
_document .js .jsx .tsx 自定义 Document
_error .js .jsx .tsx 自定义错误页面
404 .js .jsx .tsx 404 错误页面
500 .js .jsx .tsx 500 错误页面

路由

文件夹约定
文件夹名 文件类型 描述
index .js .jsx .tsx 主页
folder/index .js .jsx .tsx 嵌套页面
文件约定
文件名 文件类型 描述
index .js .jsx .tsx 主页
file .js .jsx .tsx 嵌套页面

动态路由

文件夹约定
文件夹名 文件类型 描述
[folder]/index .js .jsx .tsx 动态路由段
[...folder]/index .js .jsx .tsx 捕获所有路由段
[[...folder]]/index .js .jsx .tsx 可选的捕获所有路由段
文件约定
文件名 文件类型 描述
[file] .js .jsx .tsx 动态路由段
[...file] .js .jsx .tsx 捕获所有路由段
[[...file]] .js .jsx .tsx 可选的捕获所有路由段

相关推荐

  1. Next.js 学习笔记)——项目结构

    2023-12-17 05:56:02       40 阅读
  2. 数据结构学习笔记-叉树

    2023-12-17 05:56:02       9 阅读
  3. C#(C Sharp)学习笔记_程序的基本结构

    2023-12-17 05:56:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-17 05:56:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-17 05:56:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-17 05:56:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-17 05:56:02       18 阅读

热门阅读

  1. ntp时间同步配置中 server、pool和peer的区别

    2023-12-17 05:56:02       39 阅读
  2. 分布式配置中心SpringCloudConfig

    2023-12-17 05:56:02       40 阅读
  3. Python 正则表达式模块:re 模块

    2023-12-17 05:56:02       43 阅读
  4. C语言之实现贪吃蛇小游戏篇

    2023-12-17 05:56:02       35 阅读
  5. 固态硬盘缓存和不缓存的区别

    2023-12-17 05:56:02       40 阅读
  6. Spring Boot 默认缓存

    2023-12-17 05:56:02       30 阅读
  7. 百度搜索品牌形象优化怎么做?

    2023-12-17 05:56:02       38 阅读
  8. leetcode 股票问题全序列

    2023-12-17 05:56:02       45 阅读
  9. spark-常用算子

    2023-12-17 05:56:02       28 阅读