Что такое одноранговые зависимости в модулях Node?

NPM

оригинал:FL AVI O Copes.com/year-ranked-peer-of…

В некоторых файлах package.json вы могли видеть такие строки конфигурации:

{
  //...
  "peerDependencies": {
    "libraryName": "1.x"
  }
}

dependenciesа такжеdevDependenciesобщий, в то время какpeerDependenciesНе совсем.

dependenciesпакеты, от которых зависит ваш проект.

devDependenciesЭто пакет, необходимый для этапа разработки. Например, структуры тестирования, такие как шутки или другие библиотеки, такие как Babel, Eslint и т. Д.

В обоих приведенных выше случаях, когда вы устанавливаете пакет, его зависимости и devDependencies будут автоматически установлены npm.

peerDependenciesВ противном случае они не устанавливаются автоматически.

Когда зависимость c указана в peerDependency некоторого пакета b,он не будет установлен автоматически. Вместо этого кодовая база a, включающая пакет b, должна включать соответствующую зависимость c в качестве своей зависимости.

если работаетnpm installне могу найти зависимость,npmБудет выдано предупреждение, как в примере:

a/package.json

{
  //...
  "dependencies": {
    "b": "1.x"
  }
}

b/package.json

{
  //...
  "peerDependencies": {
    "c": "1.x"
  }
}

Следовательно, в упаковке A, C необходимо добавить в качестве зависимости, поэтому при установке пакета B NPM не будет предупрежден (код не выполнен не удастся):

a/package.json

{
  //...
  "dependencies": {
    "b": "1.x",
    "c": "1.x"
  }
}

Обратите внимание, версия зависимости должна быть совместима, если отмечена Peerdependency2.xВы не можете установить1.xили другие несовместимые версии. Это правило следуетFL AVI O Copes.com/Year Ranking — Турманти…стандарт.



--End--

Посмотреть больше хороших статей о внешнем интерфейсе
Пожалуйста, найдите немного жизни и подпишитесь на публичный номер

Пожалуйста, укажите источник