我如何构建我的中型 NextJS 项目

2025-05-25

我如何构建我的中型 NextJS 项目

众所周知,React 不是一个固执己见的库。这意味着它没有明确定义的做事方式,例如,React 不会强迫你以某种方式构建项目。一切交给开发者自己决定。

这里我们将使用 NextJS,它是一个基于 React 构建的框架。NextJS 通过代码拆分、图片优化、静态网站生成、服务端渲染等功能来优化我们的应用。本文将忽略所有这些精彩的功能,因为它们并非本文的重点。如果您是NextJS新手,我建议您查看其文档。

以下是我们的应用程序的高级文件夹结构。

📦src
 ┣ 📂charts
 ┃ ┣ 📜index.js
 ┃ ┗ 📜sunburst.js
 ┣ 📂components
 ┃ ┣ 📂breadcrumb
 ┃ ┃ ┣ 📂styles
 ┃ ┃ ┃ ┗ 📜breadcrumb.js
 ┃ ┃ ┗ 📜index.js
 ┃ ┗ 📜index.js
 ┣ 📂containers
 ┃ ┣ 📜index.js
 ┃ ┗ 📜navbar.js
 ┣ 📂fixtures
 ┃ ┗ 📜data.json
 ┣ 📂lib
 ┃ ┗ 📜gtag.js
 ┣ 📂pages
 ┣ 📂public
 ┃ ┣ 📂fonts
 ┃ ┃ ┗ 📂Arial
 ┃ ┣ 📂icons
 ┃ ┣ 📂images
 ┃ ┃ ┣ 📂svg
 ┃ ┣ 📂videos
 ┃ ┣ 📜manifest.json
 ┃ ┣ 📜sitemap.xml
 ┃ ┗ 📜sw.js
 ┣ 📂scripts
 ┃ ┗ 📜generate-sitemap.js
 ┣ 📂styles
 ┣ 📂utils
 ┣ 📜.env
 ┗ 📜next.config.js
Enter fullscreen mode Exit fullscreen mode

是的,我知道这看起来有点复杂。让我们分别查看每个文件夹来揭开它的神秘面纱。

图表

通常,我的应用程序会有一些图表来可视化数据。我所有的图表都会放在这里,并从一个index.js充当“桶”的文件中导出。

成分

这可能是最有趣的文件夹,因为您将在其中花费大部分时间。对于我的组件中的每个组件,我都会为其创建一个单独的文件夹,并在该文件夹中创建一个index.js用于导出组件的文件,以及一个用于保存组件样式的单独文件夹。组件文件夹中还有一个index.js用于导出所有组件的文件。如果您随后想要导入某个<Button />组件,请执行以下操作:import { Button } from 'components'

容器

这个文件夹也很重要。组件就像原子一样,如果我们将这些原子组合起来,就形成了元素。例如,如果我们将链接、按钮和网格组件(原子)组合起来,就可以创建一个导航栏容器(元素)。这使得它更容易组合成UI。这些容器被导入到页面中,形成完整的网页。

固定装置

该文件夹包含一些静态数据,如所有链接的列表。

自由

此目录中的文件充当我们的应用程序和外部库(如 Google Analytics)之间的接口。

民众

此文件夹托管静态文件,如图像、字体、视频、站点地图、服务工作者等。

脚本

该文件夹包含一些我通常在构建时运行的脚本,例如生成站点地图。

样式

全局样式存储在此目录中。

实用程序

我希望在整个应用程序内共享的功能都存储在这个目录中。

希望本文对您有所帮助,如果您还有其他文件夹结构需要我查看,请告诉我。我很乐意尝试一下。

照片由Firos nvUnsplash上拍摄

文章来源:https://dev.to/josemukorivo/how-i-struct-my-nextjs-projects-5n8
PREV
40+ 优质免费 Web 开发资源
NEXT
使用 Next.js 四年后,我如何处理和构建企业前端应用程序