Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung der Methoden zur Optimierung der Verzeichnisstruktur in Front-End-Projekten

Zusammenfassung der Methoden zur Optimierung der Verzeichnisstruktur in Front-End-Projekten

不言
不言Original
2018-09-17 14:22:382802Durchsuche

Dieser Artikel bietet Ihnen eine Zusammenfassung der Methoden zur Optimierung der Verzeichnisstruktur in Front-End-Projekten. Ich hoffe, er wird Ihnen als Referenz dienen.

Optimierung der Verzeichnisstruktur

Heutzutage gleichen Frontend-Projekte immer mehr Großprojekten und werden immer komplexer. Sie müssen die Zusammenarbeit zwischen Teammitgliedern bewältigen und gute Geschäfte machen. Durch Blockieren und Entkoppeln werden die Wartungskosten gesenkt und gleichzeitig eine hocheffiziente Entwicklung gewährleistet.

Die Optimierung der Projektverzeichnisstruktur ist eine Möglichkeit, dieses Ziel zu erreichen. Unabhängig davon, ob es sich um ein mehrseitiges Projekt oder eine einseitige Anwendung oder beides handelt, besteht die Verzeichnisstruktur im Allgemeinen aus den folgenden zwei Arten:

  1. Typgruppierung (nach Dateityp, Unternehmen). Typ usw. Gruppierung)

  2. Modulblock (Block nach Seitenmodul, Geschäftsmodul usw.)

Typgruppierung

Auf diese Weise können Sie nach Dateityp, Geschäftstyp oder anderen Typen gruppieren.

Mehrseitiges Projekt

|-- src/ 源代码目录

    |-- html/ html 文件目录
        |-- page1.html page1 页面的 html 文件
        |-- module1/ 子目录
            |-- page2.html page2 页面的 html 文件
            |-- ...
            
        |-- ...    
        
    |-- js/ js 文件目录
        |-- common/ 公共文件目录
        |-- page1/ page1 页面的 js 目录
        |-- module1/ 子目录
            |-- page2/ page2 页面的 js 目录
            |-- ...
            
        |-- ...
        
    |-- css/ css 文件目录
        |-- common/ 公共文件目录
        |-- page1/ page1 页面的 css 目录
        |-- module1/ 子目录
            |-- page2/ page2 页面的 css 目录
            |-- ...
            
        |-- ...
        
    |-- less/ less 文件目录(内部结构跟上面类似)
    |-- images/ 图片文件目录(内部结构跟上面类似)
    |-- data/ api-mock 文件目录(内部结构跟上面类似)
    |-- ...

Einseitige Bewerbung

|-- src/ 源代码目录
    |-- components/ 组件文件目录(如 react)
        |-- common/ 公共文件目录
        |-- page1.js page1 页面的组件文件
        |-- module1/ 子目录
            |-- page2.js page2 页面的组件文件
            |-- ...
            
        |-- ...    
        
    |-- services/ service 文件目录
        |-- service1.js page1 页面的 service
        |-- module1/ 子目录
            |-- service2.js page2 页面的 service
            |-- ...
            
        |-- ...
        
    |-- models/ model 文件目录
        |-- model1.js page1 页面的 model
        |-- module1/ 子目录
            |-- model2.js page2 页面的 model
            |-- ...
            
        |-- ...
        
    |-- ...
    
|-- images/ 图片文件目录(内部结构跟上面类似)
|-- data/ api-mock 文件目录(内部结构跟上面类似)
|-- ...

Der Vorteil dieser Methode besteht darin, dass sie die Dateiklassifizierung und Funktionsklassifizierung sehr klar gestalten und die Schreibmethode (Verzeichnisstruktur) der Teammitglieder bis zu einem gewissen Grad einschränken kann. Sie ist außerdem klar, einfach und leicht zu verstehen . Aber diese Methode hat offensichtliche Mängel:

  1. Es ist nicht einfach und schnell zu wissen, welche Dateien eine bestimmte Seite oder ein bestimmter Funktionsblock hat

  2. Erstellen Das Aktualisieren und Löschen von Seiten wird sehr ineffizient, da Sie in verschiedene Dateikategorieverzeichnisse wechseln müssen, um Dateien zu finden.

  3. Die Entwicklungseffizienz ist nicht hoch und es ist leicht, müde zu werden Editoren Wenn Sie an einer Seite arbeiten, müssen Sie jede Datei in der Dateinavigation des Editors erweitern, und die Navigation wird sehr lang sein.

Für Frontend-Projekte werde ich diese Verzeichnisstruktur in den meisten Fällen nicht verwenden.

2. Modulblockierung

Diese Methode ist in Seitenmodule, Geschäftsmodule oder andere Typen unterteilt.

Mehrseitiges Projekt

|-- src/ 源代码目录

    |-- page1/ page1 页面的工作空间
        |-- index.html html 入口文件
        |-- index.js js 入口文件
        |-- index.(css|less|scss) 样式入口文件
        |-- html/ html 片段目录
        |-- js/ js 文件目录
        |-- (css|less|scss)/ 样式文件目录
        |-- data/ 本地 json 数据模拟
        |-- images/ 图片文件目录
        |-- components/ 组件目录(如果基于 react, vue 等组件化框架)
        |-- ...
        
    |-- module1/ 子目录
        |-- page2/ page2 页面的工作空间(内部结构跟 page1 类似)
        
    |-- ...
    
|-- html/ 公共 html 片段
|-- less/ 公共 less 目录
|-- components/ 公共组件目录
|-- images/ 公共图片目录
|-- data/ 公共 api-mock 文件目录
|-- ...

Einseitige Bewerbung

|-- src/ 源代码目录
    |-- page1/ page1 页面的工作空间
        |-- index.js 入口文件
        |-- service.js
        |-- model.js
        |-- data/ 本地 json 数据模拟
        |-- images/ 图片文件目录
        |-- components/ 组件目录(如果基于 react, vue 等组件化框架)
        |-- ...
        
    |-- module1/ 子目录
        |-- page2/ page2 页面的工作空间(内部结构跟 page1 类似)
        
    |-- ...
    
|-- images/ 公共图片目录
|-- data/ 公共 api-mock 文件目录
|-- components/ 公共组件目录   
|-- ...

Diese Methode vermeidet das Problem der „Typgruppierung“, weist jedoch auch einige Mängel auf:

  1. weist nur sehr wenige Einschränkungen für Gruppenmitglieder auf und die Verzeichnisstruktur unter jedem Arbeitsbereich kann vollständig sein anders;

  2. Die Verzeichnisstruktur unter dem Arbeitsbereich ist nicht einfach zu definieren und die Anforderungen an Entwickler sind höher.

Obwohl es einige Mängel gibt, können diese durch den Einsatz von Build-Tools behoben werden, daher werde ich im Allgemeinen diese Verzeichnisstruktur wählen.

3. Gemeinsam verwenden

In vielen Fällen können diese beiden Methoden zusammen verwendet werden, beispielsweise bei kleinen einseitigen Anwendungen in mehrseitigen Projekten.

|-- src/ 源代码目录

    |-- page1/ page1 页面的工作空间
        |-- index.html html 入口文件
        |-- index.js js 入口文件
        |-- index.(css|less|scss) 样式入口文件
        |-- html/ html 片段目录
        |-- js/ js 文件目录
            |-- ajax/ 对 ajax 封装的目录
            |-- util/ 工具类函数的目录
            |-- pages/ spa 应用页面目录
            |-- data/ 静态数据目录
            |-- tpl/ 模板目录
            |-- (event|view)/ 事件监听文件目录
            |-- ...
        |-- data/ 本地 json 数据模拟
        |-- (css|less|scss)/ 样式文件目录
        |-- images/ 图片文件目录
        |-- components/ 组件目录(如果基于 react, vue 等组件化框架)
        |-- ...
        
    |-- ...

Das obige ist der detaillierte Inhalt vonZusammenfassung der Methoden zur Optimierung der Verzeichnisstruktur in Front-End-Projekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn