Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Projektirakenteen Määrittäminen | REST-rajapintojen Rakentaminen Node.js:llä ja Express.js:llä
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Backend-kehitys Node.js:llä ja Express.js:llä

bookProjektirakenteen Määrittäminen

Tässä luvussa tarkastelemme tarkemmin projektin rakennetta. Hyvin organisoidun rakenteen ylläpitäminen on ratkaisevan tärkeää, kun rakennamme koko sovelluksen. Alla esittelemme keskeiset hakemistot ja tiedostot, joita projektissamme kohtaamme:

Projektin aloitustiedostot

Voit tarkastella projektin alkuperäisiä tiedostoja ja kansioita Github Jos GitHub on sinulle uusi, seuraa alla olevaa yksinkertaista kaksivaiheista ohjetta ladataksesi projektin.

Projektirakenteen yleiskatsaus

Tarkastellaan kunkin hakemiston ja tiedoston tarkoitusta. Alla oleva kuva havainnollistaa projektin rakennetta visuaalisesti:

Seuraavaksi tarkastellaan kunkin hakemiston ja tiedoston tarkoitusta:

  1. index.js: Sovelluksen pääasiallinen käynnistyspiste. Tässä tiedostossa määritellään Express-palvelin, konfiguroidaan välimuistit (middleware), määritellään reitit ja käynnistetään palvelin;

    • Express-sovelluksen alustaminen;
    • Välimuistien, kuten express.json(), konfigurointi JSON-pyyntöjen jäsentämistä varten;
    • Reittien ja virheenkäsittelyvälimuistien määrittely;
    • Express-palvelimen käynnistäminen määritellyssä portissa (esim. 3000).
  2. routes/: Tämä hakemisto sisältää eri API-päätepisteiden reittimäärittelyt. Reittien jakaminen omiin moduuleihin pitää koodipohjan selkeänä;

    • Erillisten reittitiedostojen luominen eri toiminnoille (esim. käyttäjähallinta, twiitit, julkaisut, autentikointi);
    • Reittien käsittelykoodin organisointi ja modulaarisuus.
  3. routes/postsRoutes.js: Käsittelee erityisesti sovelluksen julkaisuihin (twitteihin) liittyvät reitit;

    • Reittien määrittely julkaisujen (twittien) luomista, hakemista, päivittämistä ja poistamista varten;
    • Vuorovaikutuksen hallinta posts.json-datatiedoston kanssa.
  4. middlewares/: Tässä hakemistossa olevat välimuistifunktiot ovat olennaisia tehtäviin kuten validointi, autentikointi ja valtuutus. Ne edistävät koodin uudelleenkäytettävyyttä;

    • Välimuistifunktioiden erottelu omiin moduuleihin;
    • Välimuistien käyttö esimerkiksi tietojen validointiin, käyttäjän autentikointiin ja virheenkäsittelyyn.
  5. middlewares/validateData.js: Tämä välimuistifunktio keskittyy saapuvien pyyntöjen tietojen validointiin. Se varmistaa, että lähetetyt tiedot täyttävät vaaditut kriteerit;

    • Saapuvien tietojen tarkastelu oikeellisuuden varmistamiseksi ennen käsittelyä;
    • Sopivat virhevastausviestit virheellisten tai puuttuvien tietojen tapauksessa.
  6. database/: Tämä hakemisto sisältää sovelluksen tietovaraston;

  7. database/posts.json: Tässä tiedostossa tallennetaan data - tässä tapauksessa julkaisut - JSON-muodossa;

  8. node_modules/: Luodaan automaattisesti, kun suoritetaan npm i express. Tämä hakemisto sisältää kaikki projektissa käytetyt ulkoiset kirjastot ja moduulit;

  9. package.json ja package-lock.json: Näissä tiedostoissa luetellaan kaikki projektin riippuvuudet.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain more about how the routes are organized?

What is the role of middleware in this project?

Could you give an example of how data is stored in posts.json?

bookProjektirakenteen Määrittäminen

Pyyhkäise näyttääksesi valikon

Tässä luvussa tarkastelemme tarkemmin projektin rakennetta. Hyvin organisoidun rakenteen ylläpitäminen on ratkaisevan tärkeää, kun rakennamme koko sovelluksen. Alla esittelemme keskeiset hakemistot ja tiedostot, joita projektissamme kohtaamme:

Projektin aloitustiedostot

Voit tarkastella projektin alkuperäisiä tiedostoja ja kansioita Github Jos GitHub on sinulle uusi, seuraa alla olevaa yksinkertaista kaksivaiheista ohjetta ladataksesi projektin.

Projektirakenteen yleiskatsaus

Tarkastellaan kunkin hakemiston ja tiedoston tarkoitusta. Alla oleva kuva havainnollistaa projektin rakennetta visuaalisesti:

Seuraavaksi tarkastellaan kunkin hakemiston ja tiedoston tarkoitusta:

  1. index.js: Sovelluksen pääasiallinen käynnistyspiste. Tässä tiedostossa määritellään Express-palvelin, konfiguroidaan välimuistit (middleware), määritellään reitit ja käynnistetään palvelin;

    • Express-sovelluksen alustaminen;
    • Välimuistien, kuten express.json(), konfigurointi JSON-pyyntöjen jäsentämistä varten;
    • Reittien ja virheenkäsittelyvälimuistien määrittely;
    • Express-palvelimen käynnistäminen määritellyssä portissa (esim. 3000).
  2. routes/: Tämä hakemisto sisältää eri API-päätepisteiden reittimäärittelyt. Reittien jakaminen omiin moduuleihin pitää koodipohjan selkeänä;

    • Erillisten reittitiedostojen luominen eri toiminnoille (esim. käyttäjähallinta, twiitit, julkaisut, autentikointi);
    • Reittien käsittelykoodin organisointi ja modulaarisuus.
  3. routes/postsRoutes.js: Käsittelee erityisesti sovelluksen julkaisuihin (twitteihin) liittyvät reitit;

    • Reittien määrittely julkaisujen (twittien) luomista, hakemista, päivittämistä ja poistamista varten;
    • Vuorovaikutuksen hallinta posts.json-datatiedoston kanssa.
  4. middlewares/: Tässä hakemistossa olevat välimuistifunktiot ovat olennaisia tehtäviin kuten validointi, autentikointi ja valtuutus. Ne edistävät koodin uudelleenkäytettävyyttä;

    • Välimuistifunktioiden erottelu omiin moduuleihin;
    • Välimuistien käyttö esimerkiksi tietojen validointiin, käyttäjän autentikointiin ja virheenkäsittelyyn.
  5. middlewares/validateData.js: Tämä välimuistifunktio keskittyy saapuvien pyyntöjen tietojen validointiin. Se varmistaa, että lähetetyt tiedot täyttävät vaaditut kriteerit;

    • Saapuvien tietojen tarkastelu oikeellisuuden varmistamiseksi ennen käsittelyä;
    • Sopivat virhevastausviestit virheellisten tai puuttuvien tietojen tapauksessa.
  6. database/: Tämä hakemisto sisältää sovelluksen tietovaraston;

  7. database/posts.json: Tässä tiedostossa tallennetaan data - tässä tapauksessa julkaisut - JSON-muodossa;

  8. node_modules/: Luodaan automaattisesti, kun suoritetaan npm i express. Tämä hakemisto sisältää kaikki projektissa käytetyt ulkoiset kirjastot ja moduulit;

  9. package.json ja package-lock.json: Näissä tiedostoissa luetellaan kaikki projektin riippuvuudet.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 3
some-alt