结构说明
- public/
用于存放不会经过 Webpack 处理的静态资源。所有资源都可以通过根路径直接访问,如/images/logo.png
。 - src/
将所有源码放在src
下,可以使项目结构更清晰,将业务代码与配置文件区分开来。 - src/app/
- 这是 App Router 的核心目录,基于文件系统自动生成路由。
- layout.js:定义全局布局,通常包含头部、页脚、全局样式引入等。
- error.js、loading.js:用于全局错误和加载状态的处理(可选)。
- page.js:根页面,对应网站首页。
- 其它目录(如
about/
、blog/
)对应不同的页面或模块,其中动态路由文件夹使用中括号,如[slug]
。
- src/components/
存放项目中常用的、可复用的 UI 组件,如导航栏、按钮、卡片等。这样有助于组件复用和项目维护。 - src/lib/ 和 src/utils/
存放辅助函数、API 请求封装、数据处理逻辑等。根据项目规模可以灵活拆分,保持业务逻辑和视图组件的分离。 - src/hooks/ 和 src/contexts/
分别用于存放自定义 Hook 和全局状态或上下文管理组件,这有助于组织项目中的逻辑代码。 - src/styles/
存放全局样式文件(如globals.css
),并且可以包含针对特定组件或页面的 CSS 模块文件。 - next.config.js 和 tailwind.config.js
配置文件,前者用于 Next.js 的全局配置,后者用于 Tailwind CSS 的定制(如扩展断点、颜色等)。
这种结构能够帮助我们清晰地组织项目代码,使不同功能模块分离,方便协作和维护,同时充分利用 Next.js App Router 的特性(如服务器组件、嵌套路由和布局)以及 Tailwind CSS 的响应式设计能力。