Node.js Hello World


provjera verzije node.js

node --version

provjera verzije npm paketa

NPM je najveći svjetski packete manager i instaler za javascript. Da bismo instalirali npm moramo imati instaliran node.js.
Alternative za npm su : Yarn, gulp, turbo, Bower, Jspm, Volo…

npm --version

Inicijalizacija novog projekta koi generira json file

npm init

Tu se spremaju svi paketi koji su potrebni za aplikaciju tako kad se prebacimo na drugi pc samo upišemo npm install i on će povući sve potrebne pakete

Instalacija UUID universally unique identifier

npm install uuid

nodemon je alat koji automatski restarta node kada se otkriju promjene datoteke u direktoriju.

npm install -D nodemon

Hello world

Primjer importanja objekta
U fajli gdje se nalazi objekt iza objekta upišemo module.exports = person; u fajli gje ga zelimo inportati upišemo require('ime_i_path_modula')

Jednostavni HTTP server
U prvoj liniji smo u varijablu stavili objekt koji uključuje HTTP node.js modul.
U trećoj liniji smo u varijablu stavili ip adresu na koju ce server slusati konekcije.
U četvrtoj liniji smo u varijablu stavili port.
U sedmoj liniji smo postavili varijablu u kojoj modul http objekt poziva funkciju createServer koja stvara novi HTTP server.
Kad se primi novi zahtjev (kad mi preko browsera pristupimo serveru) request event se poziva koji pruža 2 objekta, zahtjev (http.IncomingMessage) i odgovor (http.ServerResponse) u funkciji izgledaju ovako:(req, res).
Prvo pruža pojedinosti zahtjeva (req).
Drugi služi za odgovor pozivatelju (res)
U 14 liniji smo postavili server koji sluša konekcije na postavljenom portu i hostu. A callback funkcija nam samo ispisuje u konzoli podatke o hostu i portu.

const http = require('http'); //inportanje http modula

const hostname = '127.0.0.1'; //postavljanje varijable sa ip serverom na koi će slisati
const port = 3000; // postavljanje varijable porta za ip

//funkcija createServer stavara novi HTTP server, svaki put kad neko zeli pristupiti sadrzaju poziva se ova funkcija 
const server = http.createServer((req, res) => {
  res.statusCode = 200; //status code 200 znaci da je uspješan odgovor
  res.setHeader('ContentType', 'text/plain'); // postavljamo header Content-Type
  res.end('Hello Worldddd'); // zatvaramo odgovor i dodajemo sadrzaj u end()
});

// server je najmešten da sluša na navedenom portu i hostu a funkcija samo ispisuje u konzolu podatke
server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});