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_require
z leiningen
profilami Pythona i Clojure . Coś takiego w npm? Naprawdę uważam, że devDependencies
powinienem być dev
profilem bardziej uniwersalnego sposobu określania zależności.
package.json
które zostało rozwiązane w innych menedżerach pakietów.
MyPackage-Core
MyPackage-Db-Mongo
MyPackage-Db-Redis
itd.… w podobny sposób ludzie robią moduły altanowe, które mają na celu rozszerzenie angularjs .