Bajo demanda ()
Digamos que creo una biblioteca en./libname
que contiene un archivo principal:main.js
y múltiples archivos de biblioteca opcionales que se usan ocasionalmente con el objeto principal:a.js
yb.js
.
yo creoindex.js
archivo con lo siguiente:
exports.MainClass = require('main.js').MainClass; // shortcut
exports.a = require('a');
exports.b = require('b');
Y ahora puedo usar la biblioteca de la siguiente manera:
var lib = require('./libname');
lib.MainClass;
lib.a.Something; // Here I need the optional utility object
lib.b.SomeOtherThing;
Sin embargo, eso significa que carga 'a.js' y 'b.js' siempre y no cuando realmente los necesito.
Claro que puedo cargar manualmente los módulos opcionales conrequire('./libname/a.js')
, pero luego pierdo lo bonitolib.a
notación de puntos :)
¿Hay alguna forma de implementar la carga a pedido con algún tipo de archivo de índice? Talvez algopackage.json
La magia puede jugar aquí bien?