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?