Konfigurera Projektstrukturen
Svep för att visa menyn
I det här kapitlet tittar vi närmare på projektets struktur. Att upprätthålla en välorganiserad struktur blir avgörande när vi bygger hela applikationen. Nedan sammanfattar vi de viktigaste katalogerna och filerna vi kommer att stöta på i vårt projekt:
Projektets startfiler
Du kan komma åt de ursprungliga projektfilerna och mapparna på Github Om du är ny på GitHub, följ den enkla tvåstegsprocessen som illustreras nedan för att ladda ner projektet.
Översikt av projektstruktur
En genomgång av syftet med varje katalog och fil. Bilden nedan ger en visuell representation av projektets struktur:
Nu går vi igenom syftet med varje katalog och fil:
-
index.js: Huvudingångspunkt för applikationen. I denna fil konfigureras Express-servern, middleware, rutter och serverstart;
- Initiering av Express-applikationen;
- Konfiguration av middleware, såsom
express.json(), för att tolka JSON-förfrågningar; - Definition av rutter och middleware för felhantering;
- Start av Express-servern på en angiven port (t.ex.
3000).
-
routes/: Denna katalog innehåller ruttdefinitioner för olika API-endpoints. Att organisera rutter i separata moduler bidrar till en ren kodbas;
- Skapande av separata ruttfiler för olika funktioner (t.ex. användarhantering, tweets, inlägg, autentisering);
- Organisation och modulär hantering av ruttlogik.
-
routes/postsRoutes.js: Hanterar specifikt rutter relaterade till inlägg (tweets) i applikationen;
- Definition av rutter för att skapa, hämta, uppdatera och ta bort inlägg (tweets);
- Hantering av interaktioner med datafilen
posts.json.
-
middlewares/: Middleware-funktioner i denna katalog används för uppgifter som validering, autentisering och auktorisering. De främjar återanvändbar kod;
- Uppdelning av middleware-funktioner i separata moduler;
- Användning av middleware för exempelvis datavalidering, användarautentisering och felhantering.
-
middlewares/validateData.js: Denna middleware-funktion fokuserar på datavalidering i inkommande förfrågningar. Säkerställer att inskickad data uppfyller kraven;
- Granskning av inkommande data för korrekthet innan vidare bearbetning;
- Lämpliga felmeddelanden vid ogiltig eller saknad data.
-
database/: Denna katalog innehåller applikationens datalagring;
-
database/posts.json: Här lagras data – i detta fall inlägg – i JSON-format;
-
node_modules/: Skapas automatiskt när
npm i expresskörs och innehåller alla externa bibliotek och moduler som används i projektet; -
package.json och package-lock.json: Dessa filer listar alla paket som projektet är beroende av.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal