Ko imamo express modul naložen ga lahko vključimo v kodo z uporabo konstrukta »require«.
Sledeča koda vzpostavi spletni strežnik na vratih 8080. In preko URL poti »/gor« in »/dol« spreminja števec. Ko imamo kodo vstavljeno, zaženemo strežnik (oz. javascript datoteko) z ukazom »node index.js«.
Ob obisku http://localhost:8080/gor ali http://localhost:8080/dol se bo števec primerno povečal ali pomanjšal. Da strežnik izklopimo, pošljemo v terminal signal za izklop (CTRL + C)!
Koda:
var express = require('express');
var app = express();
var stevec = 0;
app.get('/gor', (req, res) => {
res.send(`Stevec = ${++stevec}`);
});
app.get('/dol', (req, res) => {
res.send(`Stevec = ${--stevec}`);
});
app.listen(8080, () => {
console.log('http://localhost:8080/gor ali http://localhost:8080/dol');
});
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. Tako ne moremo spreminjati datoteke in pričakovati sprememb v času izvajanja. Vsaka sprememba zahteva ponovno nalaganje kode v izvajalno okolje. Ker je node.js enoniten in vse zahteve obravnava isti proces, bodo vse zahteve imele dostop do spremenljivke »števec«.
Tukaj je ideologija drugačna kot pri PHP, kjer za vsako zahtevo zaženemo nov proces .php datoteke in posledično je takšno deljenje števec spremenljivke (vsaj v takšnem kontekstu) nemogoče. Ko se zahteva / dogodek v node.js konča, se čaka v dogodkovni zanki na novo opravilo / zahtevo. Proces pa bo aktiven, dokler ga ne bomo terminirali ali pa se bo program končal. V našem primeru se ne bo končal sam, saj ima spletni strežnik registrirano dogodkovno zanko, ki ves čas preverja za zahteve.