Вадим
да собственно конкретно npm тут не при чем
в целом бенефитов от нексуса довольно много:
- пакеты
закешированы "локально"(близко к разработчику), то есть время выкачивания зависимостей уменьшается
- бывает
официальный репозиторий подтупливает, бросается ошибками, или вообще лежит, а проект собирать нужно - в этом случае закешированые версии выручат
- неплохо иметь контроль над тем что мы включаем в проект, при определенных танцах с бубном можно получать довольно много интересной информации о ваших зависимостях в плане
узявимостей и лицензионных соглашений
- еще один неочевидный плюс который иногда решает: бывает
несколько разных репозиториев которые хотят использоваться ваши разрабы, в таком случае девам ничего менять в настройках npm не нужно, а вы просто на стороне нексуса проксируете дополнительные репозитории
- если у вас нормально спроектировано приложение и оно состоит из отдельных модулей и библиотек то вам
нужно их где-то хранить и обмениться с другими своими же разработчиками (в официальный репозиторий же не будешь пихать свои пакеты с бизнес-логикой), в этом случае нексус решает потому что на стороне девелопера опять таки ничего не меняется (они продолжают просто смотреть в нексус) и они спокойно получают ваши пакеты
- иногда бывает такая хуйня (но редко) когда исходники у вас как бы есть, а
в официальном репозитории пакета как бы нет, а хочется его устанавливать как зависимость, поэтому можно в нексус хранить не только пакеты проивзеденные вашими девами. но и просто 3rd party пакеты которые где-то но хранить нужно
это вот то, что сразу в голову пришло из практики
грубо говоря нексус это такой хороший интерфейс к пакетам которые вы можете со своей стороны довольно гибко настраивать и не дергать при этом npm-config на машине каджого разработчика