Обращайтесь с 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"
],