заставить разные модули npm использовать одну и ту же зависимость - PullRequest
0 голосов
/ 31 января 2019

Извините за вопрос NOOB, я новичок в npm и разработке внешнего интерфейса.

У меня есть библиотека (A), которая должна быть одноэлементной, но имеет инициал для прохождения конфигурации запуска.У меня также есть библиотека B, которая имеет библиотеку A в качестве зависимости.В моем веб-клиенте мне нужно напрямую ссылаться на библиотеку A, а также на библиотеку B. Я запускаю библиотеку A в своем веб-клиенте.

Из моего исследования видно, что мой веб-клиент и библиотека B используют свою собственную копию библиотеки.A и, следовательно, поскольку библиотека A работает только как одноэлементная, вызов библиотеки B в библиотеку A завершается с ошибкой undefined.

library A

library B
 |----library A

web-client
 |----library A
 |----library B
       |----library A

В моем веб-клиенте библиотеки A и B упоминаются в package.json.Мой вопрос: есть ли способ указать библиотеке B использовать библиотеку A, на которую непосредственно ссылается веб-клиент?

1 Ответ

0 голосов
/ 31 января 2019

Это поддерживается в NPM 3 и выше.

Одна копия library A будет установлена ​​и будет использоваться как library B, так и web-client, если library A соответствуют ограничениям версиив library B и web-client зависимостях.

Если ограничения версий не совпадают, library B и web-client будут иметь свои собственные копии library A.

Возможнополучить несколько копий library A, если зависимости проекта не были установлены одновременно.

В этом случае

npm dedupe

или удаление node_modules и переустановка зависимостей с помощью

npm i

поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...