Обращайтесь с NPM-предупреждением о неудовлетворенной зависимости от Bootstrap, когда они не используются в Angular
Я использую Angular 5.2.0 вместе с Bootstrap 4 в своем веб-проекте. Я установил bootstrap 4 через npm я bootstrap --save
и он рассказал мне о неудовлетворенных npm я bootstrap --save
:
npm WARN [email protected] requires a peer of [email protected]>=3.0.0 but none was installed.
npm WARN [email protected] requires a peer of [email protected]^1.11.0 but none was installed.
Разумеется, Bootstrap JS полагается на эти равные зависимости. Пока, так обычно.
Дело в том, что я не использую ни один из Bootstraps JS. Я использую ng-bootstrap, которые являются компонентами Bootstrap, переписанными для Angular.
Это предупреждение раздражает меня, потому что это действительно не вещь, когда я не использую ее в любом случае (и никто в этом проекте не должен - получить ошибку при попытке использовать компоненты Bootstrap изначально отлично). Чистый код и зависимости не должны выводить никаких предупреждений.
Чтобы избавиться от этого предупреждения, я попробовал другое:
- Найдите npm-пакет, содержащий только Bootstrap SCSS. Существует хотя бы один, но он по-прежнему использует Bootstrap версии 3. Кроме того, нет способа сказать, когда эти пакеты обновляются, поэтому я предпочитаю использовать исходный пакет
bootstrap
. - Просто установите зависимости и не используйте их. Это приводит к зависимостям в
package.json
которые не используются - и также следует избегать (imho) в среде Clean Code. - Молчание предупреждений от пряжи /npm (я недавно переключился на пряжу, но ошибки похожи). Вероятно, это не очень хорошая идея, обычно полезны предупреждения... Кажется, есть и консенсус, что нельзя отключать конкретные предупреждения. Я согласен.
- Игнорируй их. Не вариант для меня - как упоминалось выше, чистая сборка не должна возвращать предупреждения.
Итак: есть ли способ справиться с этими предупреждениями об ошибках сверстников в чистом виде?
Ответы
Ответ 1
К сожалению, реальный ответ заключается в том, что нам нужно просто игнорировать предупреждения.
Создатель ng-bootstrap
прямо заявляет, что предупреждения являются нашим единственным вариантом по техническим причинам в этом ответе. Они также упоминают, что вы не должны устанавливать зависимости jquery
или popper.js
из-за потенциальных конфликтов (согласно документации по установке).
Ответ 2
Моим решением было загрузить bootstrap.min.css и загрузить его в папку активов. Тогда я просто называю это, в любом файле ниже (не оба)
styles.css
@import url('./assets/bootstrap/bootstrap.min.css')
ИЛИ ЖЕ
angular.json
"styles": [
"src/styles.css",
"src/assets/bootstrap/bootstrap.min.css"
],