Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi
 
Domov > Forum > Računalništvo

Uvod v Node.js

 
 
28.2.2017, 0:00

Vzpostavili bomo node.js okolje in ustvarili preprosti spletni strežnik.

Povezava do vsebine
 
 
 
25.9.2018, 21:16
Lepo, da je na tem portalu videti še kaj aktualnega. Sicer bi rad dodal / popravil nekaj stvari.

Točka 6)

Avtor je pozabil povedati namen knjižnice Express.js. Uporablja se za dva namena: prvi in glavni namen je usmerjanje zahtev HTTP (routing). Drugi namen je ustvarjanje posredniških funkcij (middleware). To so funkcije, ki se lahko kličejo vmes med začetkom in koncem življenjskega cikla usmerjanja. Primeri uporabe bi bili preverjanje avtentikacije / avtorizacije zahteve, obdelave glave HTTP (headerjev) zahteve ipd. Omeniti je vredno tudi, da knjižnica Express.js predstavlja "E" v skladu tehnologij MEAN (MongoDb, Express.js, Angular, Node.js).

Prav tako bi bilo vredno omeniti, zakaj je pomembno, da dodamo zastavico --save (slednja povzroči, da se nameščen modul zabeleži v datoteko package.json, kar omogoča, da lahko vse module v projektu ponovno namestimo po potrebi z ukazom npm install).



Točka 7)

Z ukazom require lahko, kot je avtor dejal, nalagamo (vključimo) module, kot je denimo express.

require v osnovi vrne vsebino spremenljivko module.exports v dani datoteki.

Če ustvarimo npr. modul "Oseba" znotraj datoteke test.js, ki je v isti mapi kot naš index.js, bi to izgledalo takole:


oseba.js:

class Oseba// class je ES6 standard javascripta
{
constructor(ime, priimek)
{
this.ime = ime;
this.priimek = priimek;
}

izpis()
{
console.log(`Sem ${ime} ${priimek}.`);
}
}

index.js:

const Oseba = require('./oseba.js'); // poti do modula moremo pripeti relativno pot

let janez = new Oseba('Janez', 'Novak');

janez.izpis(); // V konzolo se izpiše niz "Sem Janez Novak."

Za rabo sodobnega Node.js je pametno preučiti novejše standarde jezika Javascript, zlasti ES5 in ES6 (ES == ECMAScript == jezikovni standard jezika Javascript). Avtor namreč uporablja t.i. lambda izraze ( () => { console.log("test");}), nič pa ni omenil, da le-ti izvirajo iz standarda ES5, ki je že pred časom bil vgrajen v interpreter znotraj Node.js.


In še komentar na odsek "Zanimivost":

"Ko poženemo ukaz »node index.js«. Se vsebina datoteke »index.js« naloži v izvajalno okolje in se izvaja dokler se ne prekine izvajanje." - Ali obstaja programska koda, ki se izvaja tudi po tem, ko se izvajanje prekine? Nesmisel, najbrž lapsus.

"Tako ne moremo spreminjati datoteke in pričakovati sprememb v času izvajanja." - Z ustreznimi orodji lahko, vendar le navidezno: izvajanje se resetira in se reproducira isto programsko okolje, kot v času razhroščevanja.

"Ker je node.js enoniten in vse zahteve obravnava isti proces, bodo vse zahteve imele dostop do spremenljivke »števec«."

Res je, vendar je to precej nekorektna praksa - raba globalnih spremenljivk je bržkone nezaželena v kateremkoli programskem jeziku, tudi ko programiramo Node.js. Običajno so na globalni ravni konstante in moduli / razredi.

"Proces pa bo aktiven, dokler ga ne bomo terminirali ali pa se bo program končal."- Temu nikakor ne moremo reči posebnost jezika Node.js ali zanimivost, gre osnovno za lastnost prav vsakega računalniškega programa.

Prav tako je govor o dogodkovni zanki po mojem mnenju malo zavajajoč za začetnika, sploh glede na to, da v članku ni ne omembe ne demonstracije asinhronih funkcij.






 
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!