User Tools

Site Tools


njsetn:exporting_custom_modules

→ nodejs.org/api/modules.html

La fonction require est partie du “common js pattern” mais représente que la moitié de ce pattern. L'autre moitié est module.export, qui est le mécanisme qui nous permet de produire des modules.

/lib/ma_lib.js

Les variables définies dans le module sont locales à ce module, ce qui signifie que ces variables sont privées et ne sont pas accessibles depuis les autres modules.

Si l'on souhaite pouvoir accéder à ces variables il faut utiliser module.exports.

// Person.js
var EventEmitter = require('events').EventEmitter;
var util = require('util');

var Person = function(name) {
  this.name = name;
};

util.inherits(Person, EventEmitter);

module.exports = Person; // exporte notre constructeur

Lorsque l'on require le module, on récupère ce qui est assigné à module.export.

var Person = require("./lib/Person"); //pas besoin du .js car implicite

var jose = new Person("José Anon");
var philippe = new Person("Philippe Viensici");
njsetn/exporting_custom_modules.txt · Last modified: 2016/03/21 21:35 by leo