Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Opsætning af Projektstrukturen | Opbygning af REST API'er med Node.js og Express.js
Backend-Udvikling med Node.js og Express.js

bookOpsætning af Projektstrukturen

I dette kapitel ser vi nærmere på projektets struktur. Det er afgørende at opretholde en velorganiseret struktur, når vi bygger hele applikationen. Nedenfor gennemgår vi de vigtigste mapper og filer, som vi vil støde på i vores projekt:

Projektets startfiler

Du kan få adgang til de indledende projektfiler og mapper på Github Hvis du er ny på GitHub, kan du følge den enkle to-trins proces, der er illustreret nedenfor, for at downloade projektet.

Oversigt over projektstruktur

Lad os undersøge formålet med hver mappe og fil. Billedet nedenfor giver en visuel repræsentation af projektets struktur:

Lad os nu se nærmere på formålet med hver mappe og fil:

  1. index.js: Tjener som applikationens hovedindgangspunkt. I denne fil opsættes Express-serveren, middleware konfigureres, ruter defineres, og serveren startes;

    • Initialisering af Express-applikationen;
    • Konfiguration af middleware, såsom express.json(), til parsing af JSON-anmodninger;
    • Definition af ruter og middleware til fejlhåndtering;
    • Opstart af Express-serveren på en angivet port (f.eks. 3000).
  2. routes/: Denne mappe indeholder rutedefinitioner for forskellige API-endpoints. Organisering af ruter i separate moduler hjælper med at holde kodebasen overskuelig;

    • Oprettelse af separate rutefiler for forskellige funktionaliteter (f.eks. brugerstyring, tweets, opslag, autentificering);
    • Organisering og modularisering af kode til rutehåndtering.
  3. routes/postsRoutes.js: Håndterer specifikt ruter relateret til opslag (tweets) i applikationen;

    • Definition af ruter til oprettelse, hentning, opdatering og sletning af opslag (tweets);
    • Håndtering af interaktioner med datafilen posts.json.
  4. middlewares/: Middleware-funktioner gemt i denne mappe er essentielle til opgaver som validering, autentificering og autorisation. De fremmer genbrug af kode;

    • Opdeling af middleware-funktioner i individuelle moduler;
    • Brug af middleware til opgaver som datavalidering, brugerautentificering og fejlhåndtering.
  5. middlewares/validateData.js: Denne middleware-funktion fokuserer på datavalidering i indkommende anmodninger. Den sikrer, at de indsendte data opfylder de nødvendige kriterier;

    • Gennemgang af indkommende data for korrekthed før behandling;
    • Korrekte fejlmeddelelser i tilfælde af ugyldige eller manglende data.
  6. database/: Denne mappe indeholder datalagring til applikationen;

  7. database/posts.json: I denne fil gemmes vores data - i dette tilfælde opslag - i JSON-format;

  8. node_modules/: Genereres automatisk, når vi kører npm i express. Denne mappe indeholder alle eksterne biblioteker og moduler, der anvendes i projektet;

  9. package.json og package-lock.json: Disse filer indeholder en liste over alle de pakker, som projektet afhænger af.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 2.56

bookOpsætning af Projektstrukturen

Stryg for at vise menuen

I dette kapitel ser vi nærmere på projektets struktur. Det er afgørende at opretholde en velorganiseret struktur, når vi bygger hele applikationen. Nedenfor gennemgår vi de vigtigste mapper og filer, som vi vil støde på i vores projekt:

Projektets startfiler

Du kan få adgang til de indledende projektfiler og mapper på Github Hvis du er ny på GitHub, kan du følge den enkle to-trins proces, der er illustreret nedenfor, for at downloade projektet.

Oversigt over projektstruktur

Lad os undersøge formålet med hver mappe og fil. Billedet nedenfor giver en visuel repræsentation af projektets struktur:

Lad os nu se nærmere på formålet med hver mappe og fil:

  1. index.js: Tjener som applikationens hovedindgangspunkt. I denne fil opsættes Express-serveren, middleware konfigureres, ruter defineres, og serveren startes;

    • Initialisering af Express-applikationen;
    • Konfiguration af middleware, såsom express.json(), til parsing af JSON-anmodninger;
    • Definition af ruter og middleware til fejlhåndtering;
    • Opstart af Express-serveren på en angivet port (f.eks. 3000).
  2. routes/: Denne mappe indeholder rutedefinitioner for forskellige API-endpoints. Organisering af ruter i separate moduler hjælper med at holde kodebasen overskuelig;

    • Oprettelse af separate rutefiler for forskellige funktionaliteter (f.eks. brugerstyring, tweets, opslag, autentificering);
    • Organisering og modularisering af kode til rutehåndtering.
  3. routes/postsRoutes.js: Håndterer specifikt ruter relateret til opslag (tweets) i applikationen;

    • Definition af ruter til oprettelse, hentning, opdatering og sletning af opslag (tweets);
    • Håndtering af interaktioner med datafilen posts.json.
  4. middlewares/: Middleware-funktioner gemt i denne mappe er essentielle til opgaver som validering, autentificering og autorisation. De fremmer genbrug af kode;

    • Opdeling af middleware-funktioner i individuelle moduler;
    • Brug af middleware til opgaver som datavalidering, brugerautentificering og fejlhåndtering.
  5. middlewares/validateData.js: Denne middleware-funktion fokuserer på datavalidering i indkommende anmodninger. Den sikrer, at de indsendte data opfylder de nødvendige kriterier;

    • Gennemgang af indkommende data for korrekthed før behandling;
    • Korrekte fejlmeddelelser i tilfælde af ugyldige eller manglende data.
  6. database/: Denne mappe indeholder datalagring til applikationen;

  7. database/posts.json: I denne fil gemmes vores data - i dette tilfælde opslag - i JSON-format;

  8. node_modules/: Genereres automatisk, når vi kører npm i express. Denne mappe indeholder alle eksterne biblioteker og moduler, der anvendes i projektet;

  9. package.json og package-lock.json: Disse filer indeholder en liste over alle de pakker, som projektet afhænger af.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3
some-alt