当前位置: 首页 > article >正文

next项目app router 中layout命名规范

目前正在使用next15重构项目,记录一下我偏好的目录结构和命名规范

1、目录结构

src/
  ├── app/                    # App Router 主目录
  │   ├── layout.tsx         # Root layout
  │   ├── page.tsx
  │   └── ...
  │
  ├── components/            # 组件目录
  │   ├── layout/           # 布局相关组件
  │   │   ├── Header.tsx    
  │   │   ├── Footer.tsx
  │   │   ├── Sidebar.tsx
  │   │   └── index.ts      # 统一导出
  │   └── ...

在 layout.tsx 中使用这些组件的示例:

import { Header, Footer } from '@/components/layout'

export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en">
      <body>
        <Header />
        <main>{children}</main>
        <Footer />
      </body>
    </html>
  )
}

2、建议:

1、将布局组件放在 components/layout 目录下,便于管理和维护

2、可以创建一个 index.ts 统一导出这些组件:

export { default as Header } from './Header'
export { default as Footer } from './Footer'
export { default as Sidebar } from './Sidebar'
  1. 如果布局组件比较复杂,可以在每个组件下创建子组件:
components/
  ├── layout/
  │   ├── Header/
  │   │   ├── index.tsx
  │   │   ├── Logo.tsx
  │   │   └── Navigation.tsx
  │   ├── Footer/
  │   └── Sidebar/

http://www.kler.cn/a/376884.html

相关文章:

  • 『SQLite』解释执行(Explain)
  • SpringBoot3动态切换数据源
  • Linux 文件的特殊权限—ACL项目练习
  • Selenium 的四种等待方式及使用场景
  • JVM 优化指南
  • 【linux系统之redis6】redisTemplate的使用方法
  • 微信小程序海报
  • 清晰易懂的JavaScript进阶部分——DOM操作 (节点获取,节点属性修改,节点创建与插入,CSS样式的修改)
  • 前端笔试新问题总结
  • 微服务设计模式 — 补偿事务模式(Compensating Transaction Pattern)
  • 实战经验:成功的DevOps实施案例解析
  • 【element ui系列】分享几种实现el-table表格单选的方法
  • Redis数据结构:List类型全面解析
  • VScode设置系统界面字体
  • 网络工程师的瑞士军刀:深度解析20+常用工具
  • el-table 多选默认选中(根据返回的id给数据加默认选中状态)
  • 【机器学习】嘿马机器学习(科学计算库)第4篇:Matplotlib,学习目标【附代码文档】
  • Java | Leetcode Java题解之第525题连续数组
  • Linux练习作业
  • 【网络面试篇】HTTP(1)(笔记)——状态码、字段、GET、POST、缓存
  • 用了queryselectall获取了所有div,是伪数组,什么是伪数组,如何将伪数组转换成真正数组,然后用filter进行一次和二次过滤
  • 启纬科技发布6色无源电子纸手机壳InkaceE6
  • 00-开发环境 MPLAB IDE 配置
  • 手机无线/有线投屏电脑方案
  • 《 C++ 修炼全景指南:十八 》缓存系统的技术奥秘:LRU 原理、代码实现与未来趋势
  • PHP如何实现表单与数据安全