Mam pytanie podobne do tego , ale nie całkiem to samo.
Chciałbym, aby użytkownik mojej aplikacji zainstalował ją bez względu na zależności potrzebne do sposobu, w jaki chciałby z niej korzystać. Na przykład, jeśli chcą pozostać w MongoDB, wówczas zostaną zainstalowane tylko biblioteki związane z Mongo, ale jeśli chcą pozostać w Redis, zostaną zainstalowane tylko biblioteki związane z Redis. Nie chcę, aby pobierały i instalowały biblioteki, których nie będą używać.
Wiem, że mogę to zrobić w celach programistycznych devDependencies, ale to idzie dalej. Jak mówi odpowiedź na powyższe pytanie, jest to ściślej powiązane setuptools extras_requirez leiningenprofilami Pythona i Clojure . Coś takiego w npm? Naprawdę uważam, że devDependenciespowinienem być devprofilem bardziej uniwersalnego sposobu określania zależności.
package.jsonktóre zostało rozwiązane w innych menedżerach pakietów.
MyPackage-CoreMyPackage-Db-MongoMyPackage-Db-Redisitd.… w podobny sposób ludzie robią moduły altanowe, które mają na celu rozszerzenie angularjs .