In Node.js se folosesc module pentru a-ti construi aplicatiile. Un modul este la fel ca o librarie Javascript, care poate fi refolosit prin toata aplicatia Node.js
Node.js are un set the module numite "core modules" care pot fi folosite fara alta instalare.
- Vezi pagina:
Lista cu Node.js Core Modules.
Includere module
Pentru a folosi un modul Node.js, trebuie intai sa il incluzi folosind functia
require().
var module = require('module_name');
Exemplu: Folosim modulul HTTP pentru a crea un server Node.js:
const http = require('http');
const server = http.createServer((req, res)=> {
res.writeHead(200, {'Content-Type':'text/plain'});
res.end('Hello to me.');
});
server.listen(8080, ()=> {
console.log('Server running at //localhost:8080/');
});
Creare Module
Poti crea propriile module pe care le poti include cu usurinta in aplicatia ta.
In Node.js, modulul trebuie pus intr-un fisier JavaScript separat.
- Urmatorul exemplu creaza un modul care contine un obiect cu proprietati pentru data si timpul curent:
//module to get and use date and time
class mDateTime {
//set propertie with date and time
constructor() {
this.dt = new Date();
this.year = this.dt.getFullYear();
this.month = this.dt.getMonth()+1;
this.day = this.dt.getDate();
this.hour = this.dt.getHours();
this.minute = this.dt.getMinutes();
this.seconds = this.dt.getSeconds();
}
//returns string with: year.month.day
get date(){
return this.year+'.'+this.month+'.'+this.day;
}
//returns string with: hour:minute:seconds
get time(){
return this.hour+':'+this.minute+':'+this.seconds;
}
}
//assign objhecy of mDateTime class to module.exports
module.exports = new mDateTime();
Atribuie obiectul dorit, (
aici new mDateTime()) la
module.exports pentru a face proprietatile si metodele valabile in afara fisierului de modul. Astfel obiectul poate fi folosit in script cand modulul este inclus cu require().
Salveaza codul de mai sus intr-un fisierul numit 'mdatetime.js'.
- Acum putem folosi acest modul intr-un script Node,js.
Pentru a testa, sa cream un fisier Node.js care afiseaza in browser, data si timpul cand serverul a fost pornit.
Copiaza si salveaza urmatorul cod intr-un fisier numit "demo_mdatetime.js" in acelasi director ca si modulul "mdatetime.js".
//include the http module
const http = require('http');
//include mdatetime module; located in the same folder
var dt = require('./mdatetime');
//set a string with the date and time when the server is started, using the properties defined in the mdatetime module
var current_dt = dt.date +' - '+ dt.time;
//define constant for port
const port =8080;
//sets the server
const server = http.createServer((req, res)=> {
res.writeHead(200, {'Content-Type':'text/plain'});
res.write('Server started in the date-time: '+ current_dt);
res.end();
});
//pass the port to server to listen to
server.listen(port, ()=> {
console.log('Server running at //localhost:'+ port +'/');
});
- Folosim "./" pentru a localiza modulul, asta inseamna ca modulul este localizat in acelasi director ca fisierul Node.js.
Lanseaza fisierul in interfata Command line.
Daca nu stii cum sa lansezi un fisier Node.js in interfata command line pentru a porni serverul, vezi tutorialul precedent:
Node.js - Lectia de inceput.
- Acum modulul si fisierul "demo_mdatetime.js" sunt salvate in directorul "E:/nodejs/test/", folosesc interfata command line pentru a porni Node.js cu acel fisier:
E:/nodejs>node test/demo_mdatetime.js
Pentru a vedea rezultatele, deschide serverul in browserul tau:
//localhost:8080/
Daca ai urmarit aceeasi pasi pe calculatorul tau, vei vedea un rezultat ca in acest screenshot: