日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

一個合理的前端應用文件結構

來源: 責編: 時間:2024-06-28 17:15:51 231觀看
導讀在大型應用中,最關鍵且最具挑戰性的方面之一就是擁有一個良好且合理的文件結構。在考慮通過微前端將代碼庫拆分成多個應用之前,可以遵循一些步驟來改善項目級別的架構,并在您考慮這一路徑時使過渡更容易。我們的目標是應

在大型應用中,最關鍵且最具挑戰性的方面之一就是擁有一個良好且合理的文件結構。在考慮通過微前端將代碼庫拆分成多個應用之前,可以遵循一些步驟來改善項目級別的架構,并在您考慮這一路徑時使過渡更容易。BhP28資訊網——每日最新資訊28at.com

我們的目標是應用某種模塊化方法,使代碼庫更容易理解,通過為各個功能設置邊界,減少代碼耦合和副作用。BhP28資訊網——每日最新資訊28at.com

默認項目結構

默認情況下,當使用流行的前端框架之一搭建新項目時,組件結構是扁平的,并且沒有任何層次結構。BhP28資訊網——每日最新資訊28at.com

圖片圖片BhP28資訊網——每日最新資訊28at.com

本示例使用的是 Vue 的默認項目結構,但 React 對如何將文件放入文件夾也沒有意見。BhP28資訊網——每日最新資訊28at.com

這個例子使用了 Vue 的默認項目結構,但 React 也沒有對如何將文件放入文件夾提出意見。BhP28資訊網——每日最新資訊28at.com

  • assets:存儲應用中使用的靜態資產,如圖像、字體和 CSS 文件。
  • components:包含可重用的 Vue 組件。推薦使用扁平層次結構。
  • main.js:作為應用的入口點,啟用 Vue 并配置插件或附加庫。
  • App.vue:表示應用的根組件,作為其他組件的容器并充當主要模板。

我們通過實踐發現,對于大型項目,這種架構很快就會失控。需要某種模塊化方法來輕松定位給定的文件,為各個功能設置邊界,并避免組件的緊密耦合。BhP28資訊網——每日最新資訊28at.com

將應用分解成多個功能

將應用分解成多個功能任何大型應用都會被分解成多個獨立的功能。識別它們并不總是容易和直接的,但經過一段時間和經驗之后會變得更好。我們一起嘗試將一個流行的應用分成多個部分作為練習。BhP28資訊網——每日最新資訊28at.com

圖片圖片BhP28資訊網——每日最新資訊28at.com

Twitter 的主頁有很多內容。時間線是頁面的核心,被許多功能環繞,如導航、推文創建部分、帶有多個子組件的側邊欄、懸浮消息組件等。BhP28資訊網——每日最新資訊28at.com

圖片圖片BhP28資訊網——每日最新資訊28at.com

將構成這些功能的所有組件放在同一個文件夾中是不可維護的,即使使用 IDE 的快速查找選項,定位其中一個組件也會非常困難。BhP28資訊網——每日最新資訊28at.com

更精細的項目結構

從經驗來看,更好和更全面的文件結構如下所示:BhP28資訊網——每日最新資訊28at.com

圖片圖片BhP28資訊網——每日最新資訊28at.com

  • components:所有跨整個應用使用的共享組件。
  • composables:所有共享的 composables。
  • config:應用配置文件。
  • features:包含所有應用功能。我們希望將大部分應用代碼放在這里。稍后會詳細說明。
  • layouts:頁面的不同布局。
  • lib:應用中使用的不同第三方庫的配置。
  • pages:應用的頁面。
  • services:共享的應用服務和提供者。
  • stores:全局狀態存儲。
  • test:與測試相關的 mock、幫助程序、工具和配置。
  • types:共享的 TypeScript 類型定義。
  • utils:共享的實用函數。
  • assets:靜態資源。

在項目根目錄下運行以下命令以創建不存在的文件夾。BhP28資訊網——每日最新資訊28at.com

mkdir -p src/{components,composables,config,features,layouts,lib,pages,services,stores,test,types,utils,assets}

需要注意的三件重要事項:BhP28資訊網——每日最新資訊28at.com

Pages 文件夾:頁面文件夾已經在上下文和構建工具(如 webpack 或 Vite)將創建的實際塊方面進行了一些模塊化。將所有頁面放在一個地方非常有幫助,但其中的邏輯應保持最低限度。BhP28資訊網——每日最新資訊28at.com

Features 文件夾:為了更容易的維護和擴展,我們希望將大部分應用代碼放在 features 文件夾中。每個功能文件夾應包含特定功能的領域代碼。BhP28資訊網——每日最新資訊28at.com

共享內容:在一個理想的世界中,我們不應該有共享組件、composables、stores 和 services,所有內容都應該放在相應的功能文件夾中。不幸的是,在實際項目中,這無法避免,但我們應該提前計劃,并在將內容添加到這些文件夾時格外小心。BhP28資訊網——每日最新資訊28at.com

Features 文件夾

正如前面提到的,我們的大部分應用應該放在 features 文件夾中,分為多個子目錄。BhP28資訊網——每日最新資訊28at.com

圖片圖片BhP28資訊網——每日最新資訊28at.com

  • api:所有的 fetch 邏輯都放在這里。這將 API 和 UI 解耦。
  • components:特定功能的組件。
  • composables:特定功能的 composables。
  • stores:狀態管理代碼。多個子模塊是預期的,實際上是被鼓勵的。
  • types:特定功能的 TypeScript 類型定義。
  • index.ts:這是功能的入口點。它充當功能的公共 API,并且應該只導出應該為應用程序其他部分公開的內容。

上述的 index.ts 文件充當每個功能的公共 API。在從另一個領域導入內容時,應該僅通過此文件進行。這可以防止循環依賴,并且還可以更輕松地找到導入的來源。BhP28資訊網——每日最新資訊28at.com

// 不好的做法  
                

本文鏈接:http://m.www897cc.com/showinfo-26-97295-0.html一個合理的前端應用文件結構

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 互聯網配置中心設計和實踐,你學會了嗎?

下一篇: RecyclerView的緩存機制及使用策略

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美国产1区2区| 91久久国产综合久久| 国产精品美女午夜av| 国产精品一区二区三区久久久| 国产欧美精品xxxx另类| 亚洲第一精品电影| 在线一区二区三区四区| 欧美一进一出视频| 免费亚洲婷婷| 欧美午夜不卡| 韩国av一区二区三区| 日韩午夜电影av| 一区二区日本视频| 久久精品色图| 欧美精品一区在线| 国产欧美一区二区三区国产幕精品| 在线观看国产成人av片| 亚洲素人一区二区| 久久亚洲午夜电影| 国产精品成av人在线视午夜片| 激情综合自拍| 亚洲欧美精品suv| 欧美mv日韩mv亚洲| 国产日韩精品一区二区三区| 最新国产乱人伦偷精品免费网站| 午夜在线精品| 欧美精品一区在线发布| 国产主播喷水一区二区| 国产精品99久久久久久久女警| 久久久亚洲午夜电影| 国产精品国产亚洲精品看不卡15 | 欧美日韩精品一本二本三本| 国产精品成人一区| 亚洲福利视频一区二区| 午夜视频精品| 欧美日韩亚洲一区二区三区在线观看| 国产欧美精品一区二区色综合| 亚洲精品一二区| 久久先锋资源| 国产美女精品免费电影| 一本色道久久综合亚洲精品小说| 久久综合导航| 国产一区二区三区高清播放| 亚洲一区二区三区三| 欧美久色视频| 亚洲国产女人aaa毛片在线| 久久爱另类一区二区小说| 国产精品久久久久婷婷| 一区二区欧美激情| 欧美人与禽猛交乱配| 亚洲国产欧美一区二区三区同亚洲 | 狠狠爱综合网| 午夜在线精品偷拍| 国产精品美女久久久久aⅴ国产馆| 日韩小视频在线观看| 欧美大片一区二区三区| 黄色另类av| 久久精品视频播放| 国产女人18毛片水18精品| 亚洲一区二区视频| 欧美人与性动交α欧美精品济南到| 国内精品模特av私拍在线观看| 亚洲欧美在线免费观看| 欧美日韩精品久久| 日韩亚洲一区在线播放| 久久躁日日躁aaaaxxxx| 国产视频亚洲精品| 一区二区三区三区在线| 欧美日本中文| 亚洲区中文字幕| 欧美成年视频| 亚洲国产综合在线| 欧美一区亚洲| 国产亚洲精品bv在线观看| 亚洲图片欧美一区| 欧美性猛交99久久久久99按摩| 亚洲精品一区二区三区樱花| 巨乳诱惑日韩免费av| 亚洲福利专区| 欧美激情va永久在线播放| 亚洲精品日韩一| 欧美成年人在线观看| 亚洲欧洲三级| 欧美成人精品高清在线播放| 亚洲片区在线| 欧美顶级艳妇交换群宴| 在线看片第一页欧美| 免费观看在线综合| 含羞草久久爱69一区| 久久久久久高潮国产精品视| 国产最新精品精品你懂的| 亚洲一区在线看| 国产日韩精品视频一区| 欧美一区日本一区韩国一区| 国产一区在线视频| 久久久久成人精品| 在线观看欧美| 欧美成人一品| 亚洲视频一区二区免费在线观看| 国产精品成人一区| 久久精品一区二区| 亚洲成在人线av| 欧美日韩不卡合集视频| 亚洲一区二区免费| 国产一区二区三区在线观看免费视频 | 日韩一二在线观看| 国产精品ⅴa在线观看h| 午夜伦理片一区| 一区免费在线| 欧美日韩精品一区| 欧美一级夜夜爽| 亚洲第一精品在线| 欧美日韩另类丝袜其他| 欧美亚洲一区三区| 亚洲激情成人| 国产精品高潮呻吟久久| 久久精品青青大伊人av| 亚洲精品一区二区三| 国产精品久久久久久久9999| 久久精品99国产精品酒店日本| 亚洲国产毛片完整版| 国产精品国产a| 久久人人精品| 中国亚洲黄色| 红杏aⅴ成人免费视频| 欧美片在线观看| 欧美一区二区网站| 最新69国产成人精品视频免费| 欧美午夜视频一区二区| 久久久久久夜精品精品免费| 日韩一本二本av| 国产一区二区在线免费观看| 欧美精品999| 久久精品成人| 99在线热播精品免费99热| 国产亚洲精品美女| 欧美精品在线观看91| 欧美在线视频a| 亚洲精品一区二区在线| 国产三区精品| 欧美视频你懂的| 美女精品视频一区| 午夜宅男久久久| 99精品热视频只有精品10| 国内精品写真在线观看| 欧美日韩中文字幕在线| 久久影视精品| 午夜精品福利一区二区蜜股av| 亚洲国产日韩欧美| 国产一区二区久久| 国产精品v欧美精品v日本精品动漫 | 国产亚洲激情| 国产精品成人一区| 欧美gay视频| 久久国产精品久久w女人spa| 在线视频免费在线观看一区二区| 尤物精品在线| 亚洲国产婷婷| 国产一区二区三区在线播放免费观看| 欧美日韩免费| 麻豆精品视频| 性欧美1819sex性高清| aⅴ色国产欧美| 亚洲高清久久网| 国产午夜一区二区三区| 欧美偷拍一区二区| 欧美激情久久久久| 久久最新视频| 久久久精品一区| 欧美亚洲视频| 亚洲欧美国产精品va在线观看| 亚洲精品影院在线观看| 一区二区三区在线免费视频| 国产日韩免费| 国产精品视频| 国产精品www色诱视频| 欧美日韩aaaaa| 久久综合狠狠综合久久综青草| 欧美一区二区三区视频| 亚洲欧美日韩直播| 亚洲免费视频成人| 中文av一区特黄| 一本久久综合亚洲鲁鲁五月天| 亚洲激情电影在线| 亚洲国产99| 亚洲国产精品久久久久| 在线免费高清一区二区三区| 黄色成人精品网站| 激情文学一区| 激情欧美一区二区| 国产专区欧美专区| 国精产品99永久一区一区| 国产亚洲欧美一区二区| 国产亚洲精品久久久久久| 国产女精品视频网站免费| 国产酒店精品激情| 国产麻豆日韩欧美久久| 国产精品永久在线| 国产日韩欧美视频| 国产一区二区三区视频在线观看| 国产亚洲aⅴaaaaaa毛片| 国产亚洲精品自拍| 伊人狠狠色丁香综合尤物| 在线观看一区|