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