iT邦幫忙

2025 iThome 鐵人賽

DAY 3
1

前言

在開始專案之前,先熟悉整體的專案結構能幫助我們快速掌握檔案分工,無論是功能擴充或除錯,都能更有效率地找到正確的切入點。

專案結構說明

開啟專案並使用 tree 看結構,會看到類似以下畫面:

.
├── README.md
├── app
│   ├── favicon.ico
│   ├── globals.css
│   ├── layout.tsx
│   └── page.tsx
├── components
│   └── animate-ui
├── components.json
├── eslint.config.mjs
├── lib
│   └── utils.ts
├── next-env.d.ts
├── next.config.ts
├── node_modules
├── package-lock.json
├── package.json
├── postcss.config.mjs
├── public
│   └── 靜態檔案
└── tsconfig.json

這邊我們主要需關注的檔案和資料夾如下:

檔案或資料夾 功能
app/layout.tsx 整體佈局與共通 UI,全域設定(如字型、主題 UI、導入 globals.css、全站通用的 header、footer、側邊欄等佈局元素)
app/page.tsx 對應 /(首頁)的頁面內容,app/layout.tsx 中的 {children} 會顯示這頁元素渲染結果
components/animate-ui/ Animate UI 所提供的動畫元件
components/ui/ Shadcn/ui 所提供的元件
public/ 靜態資源存放(Webp、SVG 檔等)
components.json shadcn UI 所使用的設定檔,定義樣式風格、Tailwind 設定、TS/JS 選擇、別名等 (Components.json - Shadcn UI)
lib/utils.ts 常用函式工具(如 class 工具)
next.config.ts Next.js 的主要構建與設定檔,可定義路由、環境變數、Webpack 設定等
tsconfig.json TypeScript 編譯設定,包含路徑別名(後面教學會再次提及到)、模組解析等
postcss.config.mjs PostCSS 的設定檔,作為 Next.js 編譯 CSS 用
package.json, package-lock.json 記錄專案依賴 (dependencies)、名稱、版本、npm 執行 scripts
eslint.config.mjs 設置 ESLint,幫助開發者尋找和修復 TS/JS 程式碼的問題

這裡使用的是 Next.js 13+ 的 App Router,因此 app/ 資料夾內的 layout.tsxpage.tsx。若使用 Page Router,可參考 Next.js Project Structure

若想要更深入的了解 App Router / Page Router 差異,可參考 Heidi-Liu -【學習筆記】Next.js 路由系統:App Router vs Page Router

小結

今天我們了解了 Animate UI / Shadcn UI 專案的結構,接下來會開始體驗 Animate UI 好玩的部分。

Reference


上一篇
Day 02 - Animate UI 編輯器設定 - MCP
下一篇
Day 04 - Shadcn UI 深色模式
系列文
讓你的 UI 動起來:Animate-UI 初探5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
chiaominchang222
iT邦新手 5 級 ‧ 2025-09-17 19:44:06

真用心:)

我要留言

立即登入留言