Зависимости, указанные в package.json - PullRequest
0 голосов
/ 17 сентября 2018

Допустим, у меня есть клиентское приложение (скажем, приложение Ember)

Я определяю package.json моего приложения с различными зависимостями.

    {
    name: "my-app",
    dependencies: {
       "dep1" : "1.0.0"
    },
    devDependencies: {
       "devDep1" : "1.0.0"
    }
    }

Мой вопрос

  1. Не нужно ли мне беспокоиться о зависимостях, которые имел бы сам «dep1»? Смысл не определить эти субзависимости в моем package.json, потому что об этом позаботятся в package.json, который «dep1» сам по себе определит?

  2. Любые ситуации, в которых мы определяем зависимости в нашем собственном приложении ... например. говорят, что наше приложение использует "jquery", в то время как даже dep1 требует "jquery" ... В идеале, мы не будем определять "jquery" в нашем собственном package.json в этом случае ... Но в любом случае, когда нам может понадобиться другая версия, требуемая нашим приложением ... в этом случае, как бы работа с переопределением поведения, означающая, какая версия рассматривается?

  3. Обрабатывается ли это одинаково для всех менеджеров пакетов, например, npm, bower?

P.S: любая дополнительная информация в среде движка Ember также будет полезна (имеется в виду использование родительского приложения с дочерним дополнением и т. Д.)

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

package.json или npm использует вложенных зависимостей , которые означают, что зависимость может иметь собственную зависимость от зависимостей и так далее. npm разрешит эту зависимость самостоятельно. Это позволяет различным модулям иметь разные версии одной и той же зависимости.

0 голосов
/ 17 сентября 2018
  • Вам не нужно беспокоиться о каких-либо зависимых пакетах.Они считываются из пакета package.json, который вам необходим и установлен.
  • Это согласовано для всех менеджеров пакетов.

--- ОБНОВЛЕНИЕ ---

*Зависимости 1008 * npm вложены.Это означает, что каждый пакет может иметь отдельную версию того же пакета в качестве зависимости.В вашем случае, если пакет требует «jquery» и вы хотите использовать другую версию «jquery», вы можете установить любую версию в соответствии с вашими потребностями, и это будет единственная доступная вам версия, а не любая другая версия, требуемаялюбая зависимость вашего пакета.
...