Struktura folderów¶
Udało Ci się stworzyć, zbudować oraz uruchomić swoją pierwszą aplikacje Vapor, użyjmy tego momentu aby zapoznać Cię z strukturą folderów w projekcie. Struktura jest bazowana na strukturze SPMa, więc jeśli wcześniej pracowałeś/aś z jego pomocą powinna być dla Ciebie znana.
.
├── Public
├── Sources
│ ├── App
│ │ ├── Controllers
│ │ ├── Migrations
│ │ ├── Models
│ │ ├── configure.swift
│ │ ├── entrypoint.swift
│ │ └── routes.swift
│
├── Tests
│ └── AppTests
└── Package.swift
Sekcja poniżej wyjaśnia każdą część struktury folderów w detalach.
Public¶
Then folder zawiera wszystkie publiczne pliki, które będą serwowane przez aplikacje jeśli FileMiddleware
jest włączony. To zazwyczaj są obrazy, arkusze stylów i skrypty przeglądarki. Dla przykładu, zapytanie do localhost:8080/favicon.ico
będzie sprawdzać czy Public/favicon.ico
istnieje i zwracać je.
Musisz aktywować FileMiddleware
w pliku configure.swift
twojego projektu, zanim Vapor będzie potrafił serwować pliki publiczne.
// Serwuje pliki folderu `Public/`
let fileMiddleware = FileMiddleware(
publicDirectory: app.directory.publicDirectory
)
app.middleware.use(fileMiddleware)
Sources¶
Ten folder zawiera wszystkie pliki źródłowe twojego projektu.
Folder o na górze zagnieżdżenia, App
, odzwierciedla moduł pakietu,
zadeklarowany w manifeście SwiftPM.
App¶
To miejsce na cała logikę twojej aplikacji.
Controllers¶
Kontrolery to świetny sposób na grupowania razem logiki aplikacji. Większość kontrolerów posiada wiele funkcji które przyjmują jakąś formę zapytania i zwracają dla niej odpowiedź.
Migrations¶
W tym folderze znajdują się wszystkie migracje bazy danych jeśli używać Fluenta.
Models¶
To świetne miejsce do trzymania Content
struct lub Model
z Fluenta.
configure.swift¶
Ten plik zawiera funkcję configure(_:)
. Metoda ta jest wywoływana przez entrypoint.swift
w celu skonfigurowania nowo utworzonej Aplikacji
. W tym miejscu należy zarejestrować usługi, takie jak trasy, bazy danych, dostawców i inne.
entrypoint.swift¶
Ten plik zawiera punkt wejścia @main
dla aplikacji, która ustawia, konfiguruje i uruchamia aplikację Vapor.
routes.swift¶
Ten plik zawiera funkcję routes(_:)
. Metoda ta jest wywoływana pod koniec configure(_:)
w celu zarejestrowania ścieżek czy inaczej końcówek w Application
.
Tests¶
Każdy niewykonywalny moduł w folderze Sources
może mieć odpowiadający mu folder w Tests
. Zawiera on kod zbudowany na module XCTest
do testowania aplikacji. Testy można uruchomić za pomocą swift test
w wierszu poleceń lub naciskając ⌘+U w Xcode.
AppTests¶
Ten folder zawiera testy jednostkowe dla kodu w module App
.
Package.swift¶
Na końcu znajduje się manifest pakietu SPM.