Node.js Introducere – Module

In articolul anterior am facut o scurta analiza a codului demo de pe site-ul Node.js.

Specificatiile limbajului de programare JavaScript nu prezintă un mod robust pentru a scrie module, în timp s-au dezvoltat mai multe tipare, dar comunitatea avea nevoie de ceva general acceptat și deaceea s-a creat un sitem de standardizare a modulelor și pachetelor, CommonJS.

Node.js a implementat standardul CommonJS pentru module. Să luăm următorul exemplu:

modulul_meu.js
var Persoana = {}; // variabila privata
Persoana.nume = 'necunoscut';
Persoana.membru = true;

// functie privata
var filtru = function (attr) {
  if (typeof( attr ) === 'string') return attr;
  return null;
};

// API-ul modulului, functiile publice
exports.getNume = function () {
  return Persoana.nume;
};
exports.setNume = function (nume) {
  Persoana.nume = nume;
};
exports.isMembru = function () {
  return Persoana.membru;
};
exports.VERSIUNE = "0.0.1";
app.js
var modulul_meu = require('./modulul_meu.js'); // includem modulul

if (modulul_meu.isMembru) {
  modulul_meu.setNume( 'Andrei' );
};

console.log( modulul_meu.getNume() );

Modulul se află într-un fișier separat, funcția require() citește fișierul “modulul_meu.js”, îl evaluează și rezultatul este un obiect de forma:

{
  getNume: [Function],
  setNume: [Function],
  isMembru: [Function],
  VERSIUNE: "0.0.1"
}

Funcția require() are un mod puțin mai complicat de a căuta modulele:
require(‘modulul_meu’):

  1. caută în modulele incluse în Node.js, dacă nu este găsit,
  2. caută în modulele globale (../node/node_modules/modulul_meu/index.js), dacă nu este găsit,
  3. caută în modulele locale (./node_modules/modulul_meu/index.js)

require(‘./modulul_meu.js’): caută în directorul curent
require(‘../modulul_meu.js’): caută în directorul precedent
require(‘./module/modulul_meu.js’): caută în directorul ‘module’, aflat în directorul curent

Managerul pentru module este NPM (Node.js Package Manager). Aici puteți găsi o mulțime de module utile. Instalați NPM pentru a putea instala mai simplu modulele.

Dacă aveți întrebări sau sugestii lăsati un comentariu.

Edit:
Ascultand podcast-ul NodeUp, am aflat ca mai este un site unde sunt prezentate modulele si resurse: toolbox.no.de

Articol scris de Eugen Tudorancea

JavaScript Front-end developer/Server-side enthusiast Fondator navaru.ro

3 Comentarii to “Node.js Introducere – Module”

  1. Ai un mic typo pe prima linie din modulul_meu.js: Prsoana in loc de Persoana :)

    Good tut!

  2. Eugen Tudorancea

    Fixed, thanks! ;)

  3. Cu plăcere, keep up the good work.
    Chiar eram curios cum pot defini un modul în node dar n-am avut până acum curiozitatea să investighez de unul singur :D

Show trackbacks

Ți-a plăcut articolul? Lasă un comentariu!

You can insert code snippets using BBcode:
[js].[/js] [html].[/html] [php].[/php] [css].[/css]
You can also use some HTML tags:
<blockquote>.</blockquote> <code>.</code> <a href="">.</a> <strong>.</strong> <em>.</em>

windows apple dropbox facebook twitter