Qual o tipo de estrutura de pastas a utilizar com o Angular 2?

Eu sou um desenvolvedor Angular 1 que está começando a aprender sobre Angular 2. Existem muitos tipos diferentes de métodos de estrutura de pastas, dependendo do material de treinamento. Eu vou listar cada um abaixo e eu adoraria obter as opiniões das pessoas sobre as quais eu deveria usar e por quê. Além disso, se há um método que não está listado, mas você sente que ele funciona melhor, por favor sinta-se livre para listá-lo também.

Ao olhar para tudo isto, o método nº3 é como eu estava a fazer o meu trabalho. 1 aplicações angulares.

Método 1: angular2-arranque rápido

Fonte: https://angular.io/guide/quickstart

Estrutura De Pastas:

enter image description here

Método 2: ng-book2

Fonte: https://www.ng-book.com/2/ (tem que pagar para ver os arquivos)

Estrutura De Pastas:

enter image description here

Método 3: sementes de mgechev/angular2

Fonte: https://github.com/mgechev/angular2-seed

Estrutura De Pastas:

enter image description here

 121
Author: Evan Wieland, 2016-02-11

5 answers

A orientação oficial já existe. Tinha alinhamento com ele também. veja #857.

Angular 2 application structure

Https://angular.io/guide/styleguide#overall-structural-guidelines

 112
Author: tsu1980, 2018-07-19 03:21:18
Acho que estruturar o projecto por funcionalidades é um método prático. Torna o projecto escalável e facilmente realizável. E faz com que cada parte do projeto funcione em total autonomia. Diga - me o que pensa desta estrutura abaixo.: ESTRUTURA ANGULAR DO PROJECTO TYPESCRIPT-ANGULAR 2

Fonte : http://www.angulartypescript.com/angular-typescript-project-structure/

 11
Author: angular boss, 2016-02-16 11:07:21

Então, depois de fazer mais investigações, acabei por ir com uma versão ligeiramente revista do Método 3 (semente de mgechev/angular2).

Basicamente mudei os componentes para um directório de nível principal e depois cada funcionalidade estará dentro dele.

 10
Author: Marin Petkov, 2016-03-08 21:11:01
Vou usar este. Muito semelhante ao terceiro mostrado por @Marin.
app
|
|___ images
|
|___ fonts
|
|___ css
|
|___ *main.ts*
|   
|___ *main.component.ts*
|
|___ *index.html*
|
|___ components
|   |
|   |___ shared
|   |
|   |___ home
|   |
|   |___ about
|   |
|   |___ product
|
|___ services
|
|___ structures
 9
Author: Savaratkar, 2016-06-03 06:57:14
Tenho usado o ng cli ultimamente, e foi muito difícil encontrar uma boa maneira de estruturar o meu código. O mais eficiente que vi até agora vem do repositório de mrholek.https://github.com/mrholek/CoreUI-Angular).

Esta estrutura de pastas permite-lhe manter o seu projecto raiz limpo e estruturar os seus componentes, evitando a Convenção de nomes redundantes (por vezes inúteis) do Guia de estilos oficial.

Além disso, esta estrutura é útil para agrupar importar quando for necessário e evitar ter 30 linhas de importação para um único arquivo.
src
|
|___ app
|
|   |___ components/shared
|   |   |___ header
|   |
|   |___ containers/layout
|   |   |___ layout1
|   |
|   |___ directives
|   |   |___ sidebar
|   |
|   |___ services
|   |   |___ *user.service.ts* 
|   | 
|   |___ guards
|   |   |___ *auth.guard.ts* 
|   |
|   |___ views
|   |   |___ about  
|   |
|   |___ *app.component.ts*
|   |
|   |___ *app.module.ts*
|   |
|   |___ *app.routing.ts*
|
|___ assets
|
|___ environments
|
|___ img
|   
|___ scss
|
|___ *index.html*
|
|___ *main.ts*
 0
Author: davidbonachera, 2017-09-04 02:44:15