Ovo je Rikardova jednostavna TODO aplikacija.
Prije ikakvih daljnjih koraka, potrebno je osigurati da je na sustavu instaliran NodeJS verzije 12 ili više s popratnom npm
verzijom. Postojanje aplikacije je moguće provjeriti pokretanjem naredbe node --version
. Rezultat pokretanja te naredbe bi trebao biti nešto poput v12.16.3
. Sa svim instalacijama NodeJS također dolazi pomoćni alat npm
. To valja provjeriti pokretanjem naredbe npm --version
. Ako i ovdje rezultat pokretanje bude nešto slično 6.14.4
, onda je sve spremno.
Da bi se aplikacija pokrenula, prvo je potrebno instalirati dependecy-je. To se radi pomoću naredbe npm ci
. Kad naredba uspješno završi, u kazalu bi se trebalo pojaviti novo kazalo pod imenom node_modules
. Ono sadrži sve potrebne datoteke za rad aplikacije.
Ako aplikaciju pokrenete prije nego što instalirate depenency-je, dobit ćete neki error te aplikacija neće raditi (npr. Error: Cannot find module 'mariadb'
).
Sama aplikacija se pokreće tako da se pokrene index.js
datoteka. To se može postići pozivom naredbe node index.js
ili, jednostavnije, samo ./index.js
(ako koristite UNIX sustav).
Aplikacija će se tad upaliti te će daljnje (relativno prijateljski formatirane) informacije davati preko STDOUT.
tl;dr
npm ic
node index.js
Aplikacija je napisana u JavaScript-u za NodeJS runtime i u EJS templating jeziku.
Sva aplikacijska logika nalazi se u datoteci index.js
. Kao http server koristi se express koji je minimalni framework za web aplikacije. Kako bi se aplikacija spojila na bazu, koristi se mariadb
adapter.
Informacije o spajanju na bazu mogu se iščitati iz varijable dbSettings
pri vrhu datoteke.
Varijabla serverSettings
drži informacije o tome na kojoj će mreži i vratima slušati server. Mreža 0.0.0.0
označava da zahtjevi na aplikaciju mogu doći od bilo kuda, dok će 127.0.0.1
označavati da zahtjevi moraju s istog računala preko loopback sučelja.
Aplikacijski view-ovi (datoteke koje opisuju što će se prikazati korisniku) nalaze se u views
kazalu. Pisani su u tzv. Embedded JavaScript formatu. Taj format je zapravo HTML s posebnim tagovima koji se prilikom renderiranja zamjenjuju s određenim vrijednostima.