Mam usługę, w której chcę zezwolić użytkownikom w czasie instalacji na określenie używanego silnika utrwalania, np. Opartego na plikach, MongoDB lub Redis, i szukam magii npm, do której wystarczy tylko pobrać niezbędne moduły (none, mongodb lub redis, odpowiednio).Czy mogę określić opcjonalne zależności modułów w npm pakiet.json?
Czy to możliwe? Nie mogę znaleźć żadnych innych opcji poza zdefiniowaniem zależności i zależności w pakiecie.json, a to nie jest odpowiednie do tego.
Należy również pamiętać, że chociaż moduły mongodb i redis mogą być względnie małe, należy rozważyć alternatywny przypadek, w którym opcjonalnie może być wymagana Java dla komunikacji RMI.
Dzięki!
Istnieje pole ['optionalDependencies'] (https://docs.npmjs.com/files/package.json#optionaldependencies), ale to nie jest to, czego szukasz. – Scimonster
Właściwie uważam, że wystarczy. Jeśli opcjonalny mongodb nie powiedzie się, ponieważ nie ma kompilatora C++ lub opcjonalny węzeł-jmx nie działa, ponieważ nie ma JRE, to jest w porządku. Również dokumentacja pokazuje kod JS, ale możesz dodać '" optionalDependencies ": {}' w twoim package.json i to działa. Jeśli edytujesz coś w tej sprawie w swojej odpowiedzi, zaznaczę to poprawnie. – anthonyserious