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ä
Backend-kehitys Node.js:llä ja Express.js:llä

Projektirakenteen Määrittäminen

Pyyhkäise näyttääksesi valikon

Tässä luvussa tarkastellaan projektin rakennetta tarkemmin. Hyvin organisoidun rakenteen ylläpitäminen on olennaista koko sovelluksen rakentamisen aikana. Alla esitellään tärkeimmät kansiot ja tiedostot, joita projektissamme tulee vastaan:

Projektin aloitustiedostot

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

sisältö

Projektirakenteen yleiskatsaus

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

sisältö

Seuraavaksi tarkastellaan jokaisen hakemiston ja tiedoston tarkoitusta:

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

    • Express-sovelluksen alustaminen;
    • Middlewarejen, kuten express.json(), konfigurointi JSON-pyyntöjen käsittelyyn;
    • Reittien ja virheenkäsittelymiddlewarejen 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 toiminnallisuuksille (esim. käyttäjähallinta, viestit, julkaisut, autentikointi);
    • Reittien käsittelykoodin organisointi ja modulaarisuus.
  3. routes/postsRoutes.js: Käsittelee erityisesti sovelluksen julkaisuihin (viesteihin) liittyvät reitit;

    • Reittien määrittely julkaisujen (viestien) luomiseen, hakemiseen, päivittämiseen ja poistamiseen;
    • Vuorovaikutuksen hallinta posts.json-datatiedoston kanssa.
  4. middlewares/: Tässä hakemistossa sijaitsevat middleware-funktiot ovat olennaisia esimerkiksi validointiin, autentikointiin ja valtuutukseen. Ne edistävät koodin uudelleenkäytettävyyttä;

    • Middleware-funktioiden erottelu omiin moduuleihin;
    • Middlewarejen käyttö esimerkiksi datan validointiin, käyttäjän autentikointiin ja virheenkäsittelyyn.
  5. middlewares/validateData.js: Tämä middleware-funktio keskittyy saapuvien pyyntöjen datan validointiin. Se varmistaa, että lähetetty data täyttää vaaditut kriteerit;

    • Saapuvan datan tarkistus oikeellisuuden varmistamiseksi ennen käsittelyä;
    • Sopivat virhevastausviestit, jos data on virheellistä tai puuttuu.
  6. database/: Tämä hakemisto sisältää sovelluksen tietovaraston;

  7. database/posts.json: Tässä tiedostossa tallennetaan dataa – 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

Projektirakenteen Määrittäminen

Tässä luvussa tarkastellaan projektin rakennetta tarkemmin. Hyvin organisoidun rakenteen ylläpitäminen on olennaista koko sovelluksen rakentamisen aikana. Alla esitellään tärkeimmät kansiot ja tiedostot, joita projektissamme tulee vastaan:

Projektin aloitustiedostot

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

sisältö

Projektirakenteen yleiskatsaus

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

sisältö

Seuraavaksi tarkastellaan jokaisen hakemiston ja tiedoston tarkoitusta:

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

    • Express-sovelluksen alustaminen;
    • Middlewarejen, kuten express.json(), konfigurointi JSON-pyyntöjen käsittelyyn;
    • Reittien ja virheenkäsittelymiddlewarejen 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 toiminnallisuuksille (esim. käyttäjähallinta, viestit, julkaisut, autentikointi);
    • Reittien käsittelykoodin organisointi ja modulaarisuus.
  3. routes/postsRoutes.js: Käsittelee erityisesti sovelluksen julkaisuihin (viesteihin) liittyvät reitit;

    • Reittien määrittely julkaisujen (viestien) luomiseen, hakemiseen, päivittämiseen ja poistamiseen;
    • Vuorovaikutuksen hallinta posts.json-datatiedoston kanssa.
  4. middlewares/: Tässä hakemistossa sijaitsevat middleware-funktiot ovat olennaisia esimerkiksi validointiin, autentikointiin ja valtuutukseen. Ne edistävät koodin uudelleenkäytettävyyttä;

    • Middleware-funktioiden erottelu omiin moduuleihin;
    • Middlewarejen käyttö esimerkiksi datan validointiin, käyttäjän autentikointiin ja virheenkäsittelyyn.
  5. middlewares/validateData.js: Tämä middleware-funktio keskittyy saapuvien pyyntöjen datan validointiin. Se varmistaa, että lähetetty data täyttää vaaditut kriteerit;

    • Saapuvan datan tarkistus oikeellisuuden varmistamiseksi ennen käsittelyä;
    • Sopivat virhevastausviestit, jos data on virheellistä tai puuttuu.
  6. database/: Tämä hakemisto sisältää sovelluksen tietovaraston;

  7. database/posts.json: Tässä tiedostossa tallennetaan dataa – 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