vapor-docs/docs/gettingstarted/folder-structure.de.md

81 lines
2.6 KiB
Markdown

# Ordnerstruktur
Lass uns einen Blick auf die Ordnerstruktur von Vapor werfen. Die Ordnerstruktur von Vapor orientiert sich an den Vorgaben des [Swift Package Managers](spm.md). Falls du schon mal mit dem SPM gearbeitet hast, sollte sie dir bekannt vorkommen.
```
.
├── Public
├── Sources
│ ├── App
│ │ ├── Controllers
│ │ ├── Migrations
│ │ ├── Models
│ │ ├── configure.swift
│ │ └── routes.swift
│ └── Run
│ └── main.swift
├── Tests
│ └── AppTests
└── Package.swift
```
## Public
Der Ordner _Public_ beinhaltet Dateien, die sozusagen mitveröffentlicht werden. Das können Dateien für die Seitendarstellung sein, wie z. B. Bilder, CSS/JS-Dateien sein. Damit Vapor während der Ausführung auf den Ordner zugreifen kann muss eine _FileMiddleware_ in der Datei `configure.swift` mitangegeben werden.
```swift
// Serves files from `Public/` directory
let fileMiddleware = FileMiddleware(
publicDirectory: app.directory.publicDirectory
)
app.middleware.use(fileMiddleware)
```
## Sources
Im Ordner _Sources_ befinden sich die eigentlichen Anwendungsdateien, unterteilt in die Unterordner _App_ und _Run_. Die beiden Unterordnern stellen Paketmodule dar. Mehr dazu findest du im Abschnitt [Swift Package Manager](spm.md).
### App
Der Ordner _App_ beinhaltet die Anwendungslogik.
#### Controllers
Der Ordner _Controllers_ beinhaltet die Definitionen der Endpunkte der Anwendung. Mehr dazu findest du im Abschnitt [Controllers](../basics/controllers.md).
#### Migrations
Der Ordner _Migrations_ beinhaltet die Definitionen zu Tabellen der Datebank.
#### Models
Der Ordner _Models_ beinhaltet die Klassendefinitionen für die Entitäten.
#### configure.swift
Die Datei _configure.swift_ umfasst die Methode `configure(_:)`. Sie wird in der Datei `main.swift` aufgerufen um die Anwendung mit entsprechenden Angaben zu Endpunkten, zur Datenbank oder zu Providern zu konfigurieren.
#### routes.swift
Die Datei _routes.swift_ beinhaltet die Methode `routes(_:)`. Sie wird am Ende von der `configure(_:)`-Methode aufgerufen um die Endpunkte zu registrieren.
### Run
Der Ordner _Run_ stellt die Ausführungsdatei dar.
#### main.swift
Die Datei _main.swift_ erstellt eine Instanz der Anwendung und führt diese aus.
## Tests
Für jedes Paketmodul kann ein entsprechender Ordner unter _Tests_ angelegt werden.
### AppTests
Der Ornder _AppTests_ beinhaltet alle möglichen Tests für Komponenten der Anwendung.
## Package.swift
Die Datei _Package.swift_ ist die Paketbeschreibung.