with parameter node modules exports example dollars convert coin node.js node-modules

node.js - parameter - ¿Puedes exportar múltiples clases desde un solo módulo Nodejs?



node js export function with parameter (2)

Sí, puedes exportar múltiples clases.

por ejemplo, People.js

class Jack{ //Memeber variables, functions, etc } class John{ //Memeber variables, functions, etc } module.exports = { Jack : Jack, John : John }

Y, puede acceder a estas clases como ha mencionado correctamente.

var People = require(''./People.js''); var JackInstance = new People.Jack(); var JohnInstance = new People.John();

Actualmente, tengo 4 Clases para niños cada una en su propio archivo. Los estoy solicitando a todos en el mismo archivo. Me pregunto si puedo contener las 4 clases en un solo módulo. Actualmente, los estoy importando así.

var Jack = require(''./Jack.js''); var JackInstance = new Jack(); var Jones = require(''./Jones.js''); var JonesInstance = new Jones();

Me gustaría importarlos así

var People = require(''./People.js''); var JackInstance = new People.Jack();

O incluso

var Jack = require(''./People.js'').Jack; var JackInstance = new Jack();

Mis clases se definen asi

class Jack{ //Memeber variables, functions, etc } module.exports = Jack;


También puede hacer esto en una forma más corta, utilizando las tareas de desestructuración (que son compatibles de forma nativa a partir de Node.js v6.0.0 ):

// people.js class Jack { // ... } class John { // ... } module.exports = { Jack, John }

Importador:

// index.js const { Jack, John } = require(''./people.js'');

O incluso de esta manera, si quieres un alias requiere asignaciones:

// index.js const { Jack: personJack, John: personJohn, } = require(''./people.js'');

En este último caso, personJack y personJohn harán referencia a tus clases.

Una palabra de advertencia:

La destrucción puede ser peligrosa en el sentido de que es propenso a producir errores inesperados. Es relativamente fácil olvidar los corchetes en la export o incluirlos accidentalmente cuando se require .