оригинал: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--
Посмотреть больше хороших статей о внешнем интерфейсе
Пожалуйста, найдите немного жизни и подпишитесь на публичный номер
Пожалуйста, укажите источник