Как npm управляет переходными модулями? - PullRequest
0 голосов
/ 28 мая 2020

Если в моем приложении есть модуль A, который использует модуль C в версии 1, и модуль B, который также использует этот модуль C, но в версии 2, какая версия модуля C будет на самом деле использовать?

Примерно как показано ниже:

My project
|--- A module
     |--- C module version 1
|--- B module
     |--- C module version 2

Ответы [ 2 ]

2 голосов
/ 28 мая 2020

При запуске npm install npm рекурсивно ищет package.json зависимости и одноранговые узлы и устанавливает их все в их собственные папки. и если две зависимости имеют одинаковую зависимость с разными версиями semanti c, у вас будут обе версии, но в разных папках. Например, в проекте у вас может быть около 20 тысяч зависимостей, и все они установлены npm в папку node_module, поэтому папка такая большая.

1 голос
/ 28 мая 2020

Нет. Вам не нужно заботиться о sub node_module внутри модуля A или модуля B. Вам следует позаботиться о том, как использовать модули A и B. Если вы не хотите использовать модуль C в своем коде, вы должны установить его независимо. Например:

npm install C

В этом случае все модули A, B и C являются папками одного уровня.

node_module/
---Module A
     |---Module C (1)
---Module B
     |---Module C (2)
---Module C (*)

Резюме: модуль C (*) отличается с Модулем C (1) и (2). Возможно, та же версия или другая версия.

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