Wymaganie na żądanie ()

Powiedz, że tworzę bibliotekę w./libname który zawiera jeden główny plik:main.js i wiele opcjonalnych plików bibliotek, które czasami są używane z głównym obiektem:a.js ib.js.

tworzęindex.js plik z następującymi elementami:

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

Teraz mogę korzystać z biblioteki w następujący sposób:

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

Oznacza to jednak, że zawsze ładuję 'a.js' i 'b.js', a kiedy ich naprawdę potrzebuję.

Oczywiście mogę ręcznie załadować opcjonalne moduły za pomocąrequire('./libname/a.js'), ale potem tracę pięknośćlib.a notacja kropkowa :)

Czy istnieje sposób na zaimplementowanie ładowania na żądanie za pomocą jakiegoś pliku indeksu? Może trochępackage.json magia może tu dobrze grać?

questionAnswers(2)

yourAnswerToTheQuestion