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

Probabil ai observat că săptămâna trecută nu a apărut nici un articol cu un mănunchi de link-uri utile și/sau interesante.

Din păcate, și săptămâna aceasta situația va sta la fel și probabil și în următoarele săptămâni, cu șanse mari să fiu ocupat până la sfârșitul anului. S-au strâns câteva sute de articole în google reader, plus câteva zeci în Readitlater, am nevoie de timp să le citesc și să le sortez.

Hint: am făcut comandă de asta pentru a putea termina proiectul curent.

Instalează OSX Lion pe PC-ul tău!

Dacă ești ca mine și ai nevoie din când în când de OSX pentru diverse teste (ba un simulator de iOS, ba safari de mac e uneori stupid, ba antialias-ul fonturilor strică unele treburi, chestii d’astea), iar achiziționarea unui mac nu pare o afacere foarte bună (mai ales pentru că este DOAR pentru teste!) am o soluție care te-ar putea ajuta.

Pui mâna pe Kakewalk, instalezi și… ai un OSX.

Singura chestie un pic aiurea este că vei avea nevoie de un OSX funcțional pentru a face stick-ul de instalare.

Toată treaba durează cam 30 minute (15 minute stick-ul, 15 minute instalarea propriu zisă) și sunt șanse destul de mari să meargă „out of the box” majoritatea chestiilor. De ex, pe un EP35-DS4 mi-au mers toate componentele în afară de sunet. S-a rezolvat cu Citeste mai departe »

windows apple dropbox facebook twitter