問 ChatGPT 3.5 建議的前端專案架構

更新於 發佈於 閱讀時間約 4 分鐘

目錄結構

/src
/assets # 存放圖片、樣式表等靜態資源
/components # 可重用的Vue元件
/views # 每個頁面對應的Vue視圖組件
/services # 與後端交互的服務層,如API呼叫
/utils # 共用的工具函數
App.vue # 根組件
main.js # Vue應用入口點

詳細說明

  • assets: 包含圖片、字體、全域樣式表等靜態資源。
  • components: 存放可重用的Vue元件,可以根據功能或共用性進一步分組。
  • views: 每個頁面對應的Vue視圖組件,通常以路由為基礎組織。
  • services: 用於與後端API交互的服務層,包括所有的API呼叫和相關的邏輯。
  • utils: 存放共用的工具函數,例如日期格式化、驗證等。

其他建議

  • 路由管理: 使用Vue Router來管理應用的路由。可以根據需要設置巢狀路由,讓應用更有組織性。
  • 狀態管理: 使用Vuex來管理應用的狀態。將共享的狀態集中管理,方便跨組件共享數據。
  • 模組化設計: 將代碼切分為小模組,每個模組應該負責特定功能,並確保模組之間的疊代關係清晰。
  • 命名規範: 使用一致的命名規範,確保代碼易讀且容易理解。這也包括組件、變數、路由等命名。
  • 測試: 實施單元測試和集成測試以確保代碼的穩定性和可靠性。
  • 代碼註釋: 使用清晰的註釋,解釋代碼的目的和邏輯,有助於新成員快速了解代碼。


展開說明

1. /assets

  • 圖片: 存放應用中使用的圖片,例如Logo、背景圖等。
  • 樣式表: 放置全域的CSS樣式、Sass、Less等文件。這裡可以有一個styles目錄,包含多個樣式文件或文件夾,根據需求區分。

2. /components

這個目錄用於存放可重用的Vue元件,可依據功能或共用性進一步分組

  • UI元件: 包含按鈕、表單輸入、卡片等可重複使用的基本UI元件。
  • 布局元件: 例如樣式化的佈局容器、網格系統等。
  • 功能性元件: 處理特定功能的元件,例如購物車、用戶註冊等。

3. /views

每個頁面對應的Vue視圖組件應該放置在這個目錄下,通常以路由為基礎組織

  • 首頁: 可能是應用的進入點。
  • 用戶頁面: 包含用戶註冊、登入等相關頁面。
  • 產品頁面: 如果是電子商務類型的應用,可能會有產品列表、產品詳情等頁面。

4. /services

這個目錄用於處理與後端API交互的服務層,包括所有的API呼叫和相關的邏輯

  • API呼叫: 存放與後端通信的API呼叫函數。
  • 資料處理: 如需要對從後端獲取的資料進行處理,可以在這裡進行。

5. /utils

存放共用的工具函數,例如日期格式化、驗證等。這裡可能包括一些通用的功能性輔助程式碼

  • 日期處理: 包含日期格式化、時間計算等功能。
  • 驗證: 可能包括表單驗證、輸入驗證等工具函數。


總結來說

我覺得整體架構來說是好的,至少方向很明確,但是主要還是需要評估專案的基底,像是用Quasar或是Nuxt.js之類的,這些方便的CLI工具都有可能會影響資料夾結構。以及專案複雜程度不同可能會需要再往下分類會更好,這裡沒有提到套件的整理方式建議是另外開一個資料夾plugin去做整理,也是不錯的選擇。

可以先掌握基本的規則,像是命名規範、註解以及Code Style Auto統一,再來就是使用函式的方式與規定,才不會有人從A地方傳入有人從B地方傳入的情況發生,每個人風格不同,但不要偏離易維護性就可以。

另外,他提到的VueX已經是Vue2的產物,現在Vue2已經不更新了,這個部分還需要注意一下!現在Vue3的組合式API能夠跨組件溝通用法也相當簡單,只是狀態管理的部分仍須考慮專案複雜性決定是否有必要引入管理方法。

以上就是今天分享拉,疑問或有誤歡迎留言~!





開發之路有你有我有卡比,收錄各種開發的技術分享與疑難雜症解★☆
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
JavaScript重組資料:flatMap與map的差異
NPM 時遇到版本相依的衝突,原因是什麼,提供四種解決方式
NPM 時想要固定套件安裝版本,有兩種方法可以達成目的
VSCode 好用的輔助開發工具 i18n Ally
JavaScript重組資料:flatMap與map的差異
NPM 時遇到版本相依的衝突,原因是什麼,提供四種解決方式
NPM 時想要固定套件安裝版本,有兩種方法可以達成目的
VSCode 好用的輔助開發工具 i18n Ally
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 TOCD 範本體現了簡單性和有效性,此範本以四個基本元素 ( Task、Output、Context
Thumbnail
為了充分發揮AI的潛力,我們必須深入瞭解其運作模式和思考邏輯,並學會與AI對話的技巧。《ChatGPT提問課,做個懂AI的高效工作者》這本書提供了豐富的實例,讓讀者更容易學會如何提出精準的問題,並享有提問課程的閱讀回饋。這對於想成為懂AI的高效工作者的人來說,是一本值得一看的書。
Thumbnail
這是一篇跟 chatGPT 合作的廢文。文章從標題到內文都由 chatGPT撰寫由我下點評,模擬我 與 chatGPT 老師對談,做一場思辨實驗。
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 TOCD 範本體現了簡單性和有效性,此範本以四個基本元素 ( Task、Output、Context
Thumbnail
為了充分發揮AI的潛力,我們必須深入瞭解其運作模式和思考邏輯,並學會與AI對話的技巧。《ChatGPT提問課,做個懂AI的高效工作者》這本書提供了豐富的實例,讓讀者更容易學會如何提出精準的問題,並享有提問課程的閱讀回饋。這對於想成為懂AI的高效工作者的人來說,是一本值得一看的書。
Thumbnail
這是一篇跟 chatGPT 合作的廢文。文章從標題到內文都由 chatGPT撰寫由我下點評,模擬我 與 chatGPT 老師對談,做一場思辨實驗。