On-Demand erfordern ()

Angenommen, ich erstelle eine Bibliothek in./libname welches eine Hauptdatei enthält:main.js und mehrere optionale Bibliotheksdateien, die gelegentlich mit dem Hauptobjekt verwendet werden:a.js undb.js.

Ich erschaffeindex.js Datei mit folgendem Inhalt:

exports.MainClass = require('main.js').MainClass; // shortcut
exports.a = require('a');
exports.b = require('b');

Und jetzt kann ich die Bibliothek wie folgt benutzen:

var lib = require('./libname');
lib.MainClass;
lib.a.Something; // Here I need the optional utility object
lib.b.SomeOtherThing;

Das heißt aber, ich lade immer 'a.js' und 'b.js' und nicht, wenn ich sie wirklich brauche.

Klar kann ich die optionalen Module manuell mit ladenrequire('./libname/a.js'), aber dann verliere ich das hübschelib.a Punktnotation :)

Gibt es eine Möglichkeit, das Laden bei Bedarf mit einer Art Indexdatei zu implementieren? Vielleicht einigepackage.json Magie kann hier gut spielen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage