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

Next.js 项目结构

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

顶级文件夹

文件夹名描述
appApp Router
pagesPages Router
public待服务的静态资源
src可选的应用程序源文件夹

顶级文件

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

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 .tsAPP 端点
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 .svgApp 图标文件
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.txtRobots 文件
robots.js .ts生成的 Robots 文件

pages 路由约定

特殊文件

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

路由

文件夹约定
文件夹名文件类型描述
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可选的捕获所有路由段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/227612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

万兆网络之屏蔽线序接法(中)

在介绍优质网线选购之前,先简单介绍一下水晶头 1毛钱一颗跟1元一颗的水晶头,往往是金手指厚度差别,你可以想象压制的时候可能会有什么情况 另外,一些3元一颗的镀金水晶头会有15U、30U之类的是电镀厚度单位,数值越大镀…

React Native面试题总结

1,简单介绍下React Native,以及和React.js的区别 React Native是一个JavaScript框架,由Facebook开发,以满足日益增长的移动应用开发的需求。它是开源的,基于JavaScript的。它被设计为用可重复使用的组件构建本地移动应用程序。它使用了大量的ReactJS组件,但在不同的设备…

文档安全加固:零容忍盗窃,如何有效预防重要信息外泄

文档安全保护不仅需要从源头着手,杜绝文档在使用和传播过程中产生的泄密风险,同时还需要对文档内容本身进行有效的保护。为了防范通过拷贝、截屏、拍照等手段盗窃重要文档内容信息的风险,迅软DSE加密软件提供了文档加密保护功能,能…

10 新字符设备驱动文件

一、新字符设备驱动原理 因为 register_chrdev 和 unregister_chrdev 两个函数是老版本驱动文件,现在可以用新字符设备驱动 API 函数。 1. 分配和和释放设备号 使用 register_chrdev 函数注册字符设备的时候只需要给定一个主设备号即可,但是这样会带来两…

如何计算2的n次方

今天在写代码的时候,遇到了纹饰评分的计算,纹饰的等级和评分的关系为: 1级纹饰:202级纹饰:403级纹饰:80 得出纹饰等级grade和纹饰评分score的关系:score (2 ^ grade) * 10,所以就…

git 不小心操作 reset current branch to here后,怎么还原

可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除 一般情况下,gc对那些无用的object会保留很长时间后才清除的 可以使用git reflog show或git log -g命令来看到所有的操作日志 恢复的过程很简单: 通过git log -g命…

信息安全和网络安全的区别

信息安全与网络安全都属于安全领域,但它们的范围和重点不同。 信息安全主要关注数据的保护,包括对敏感数据进行加密、防止数据丢失或泄露等措施。信息安全通常与数据存储、传输和处理相关。 而网络安全更侧重于保护计算机系统和网络免受攻击、病毒、蠕…

Mac安装软件显示文件已损坏处理方法

今天安装软件,突然遇到了文件已损坏,扔到废纸篓的情况,于是搜索了下解决办法,跟大家分享下,希望对你有所帮助 一、检查安全性设置 打开【设置】-【隐私与安全】,下拉找到安全性,将安全性更改为…

自定义指令Custom Directives

<script setup langts> import { ref } from "vue"const state ref(false)/*** Implement the custom directive* Make sure the input element focuses/blurs when the state is toggled* */ // 以v开头的驼峰式命名的变量都可以作为一个自定义指令 const VF…

System作为系统进程陔如何关闭?

一、简介 system进程是不可以关闭的&#xff0c;它是用来运行一些系统命令的&#xff0c;比如reboot、shutdown等&#xff0c;以及用来运行一些后台程序&#xff0c;比如ntfs-3g、v4l2loopback等。system进程也被用于运行一些内核模块&#xff0c;比如nvidia、atd等。system进程…

mars3d加载arcgis发布的服务,⽀持4523坐标

问题 1.从这个服务地址加载&#xff0c;具体在哪⾥去转坐标呢&#xff1f; 加个 usePreCachedTilesIfAvailable&#xff1a;false 参数即可 坐标系为4490的arcgis影像服务图层&#xff0c;配置后瓦片加载不出来&#xff0c;没报错 甚至可以跳转 没有看出问题&#xff0c;或者测…

linux系统启动时运行web程序

1.修改rc.local文件 执行命令如果找不到会报错command not found &#xff0c;使用全路径即可 找不到的话 可以使用which 命令 找到路径 后台查看执行日志 2.修改rc.local文件的权限 chmod x rc.local 然后reboot 可以查到进程和启动日志

vue3:直接修改reative的值,页面却不响应,这是什么情况?

目录 前言&#xff1a; 错误示范&#xff1a; reactive() 的局限性 解决办法&#xff1a; 1.使用ref 2.reative多套一层 3.使用Object.assign 前言&#xff1a; 今天看到有人在提问&#xff0c;问题是这样的&#xff0c;我修改了reative的值&#xff0c;数据居然失去了响…

MySQL异步操作在C++中的应用

在开发高性能的C应用中&#xff0c;数据库操作的效率往往成为一个瓶颈。传统的同步数据库操作在等待数据库响应时会阻塞程序的执行&#xff0c;导致整体性能下降。为了解决这个问题&#xff0c;异步操作成为了一个重要的技术手段。 本文将详细介绍如何在C中使用MySQL的异步接口…

YOLOv5改进 | 注意力篇 | DAttention (DAT)注意力机制实现极限涨点

一、本文介绍 本文给大家带来的是YOLOv5改进DAT(Vision Transformer with Deformable Attention)的教程&#xff0c;其发布于2022年CVPR2022上同时被评选为Best Paper&#xff0c;由此可以证明其是一种十分有效的改进机制&#xff0c;其主要的核心思想是&#xff1a;引入可变形…

微信小程序置顶导航,替代原生导航栏

效果图&#xff1a; 思路&#xff1a;Navigation是小程序的顶部导航组件&#xff0c;当页面配置navigationStyle设置为custom的时候可以使用此组件替代原生导航栏&#xff0c;wx.getSystemInfoSync获取可使用窗口高度 wxml代码&#xff1a; <!-- 头部 --> <view cla…

【docker】部署minio对象存储并用rclone同步

docker部署minio对象存储并用rclone同步 本文首发于 ❄️慕雪的寒舍 1.什么是minio&#xff1f; minio是一个开源的对象存储服务器&#xff0c;兼容S3协议。 官网&#xff1a;https://min.io/ 官方在开源的基础上也提供云端S3服务&#xff0c;分为个人和企业&#xff0c;有不…

【MySQL】图形化界面工具 DataGrip

使用 dataGrip: 1.添加数据源 2.连接本地数据库 user 是 root 密码是 123456 3.展示所有数据库 4.创建数据库 5.创建表 6.修改表 在需要修改的表上&#xff0c;右键选择 "Modify Table..." 如果想增加字段&#xff0c;直接点击号&#xff0c;录入字段信息&#x…

Ansible Galaxy?Ansible如何控制任务的并行执行?Ansible故障后的排查思路?

Ansible Galaxy是一个由各种Ansible管理员和用户编写的Ansible角色的公共库。它是一个包含数千个Ansible角色的归档文件&#xff0c;并且有一个可搜索的数据库&#xff0c;帮助Ansible用户识别可能帮助他们完成管理任务的角色。Ansible Galaxy包括指向新用户和角色开发人员的文…

前端面试(5)

1、移动端适配 1.1、设置meta缩放比例&#xff0c;将设备窗口调整为设计图大小。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width,initial-sc…