在Angular中未使用Bootstrap的"未满足的对等依赖关系"时处理NPM警告

fro*_*.io 12 npm twitter-bootstrap bootstrap-4 yarnpkg angular

我在我的web项目中使用Angular 5.2.0和Bootstrap 4.我安装了bootstrap 4 npm i bootstrap --save,它告诉我有关未满足的对等依赖项:

npm WARN bootstrap@4.0.0 requires a peer of jquery@>=3.0.0 but none was installed.
npm WARN bootstrap@4.0.0 requires a peer of popper.js@^1.11.0 but none was installed.
Run Code Online (Sandbox Code Playgroud)

当然,Bootstrap的JS依赖于这些对等依赖.到目前为止,这么平常.

问题是:我不使用任何Bootstraps JS.我正在使用ng-bootstrap,这是为Angular重写的Bootstrap组件.

这个警告让我感到很恼火,因为它真的不是一件事,当我还没有使用它时(这个项目中没有其他人应该 - 在尝试使用Bootstrap的组件本身时会出错).清洁代码和依赖项不应输出任何警告.

为了摆脱这个警告,我尝试了不同的方法:

  • 找一个只包含Bootstrap的SCSS的npm-package. 至少有一个,但它仍然使用Bootstrap的版本3.此外,没有办法告诉,当这些包更新时,所以我更喜欢使用原始bootstrap包.
  • 只需安装依赖项而不使用它们.这导致了package.json未使用的依赖关系- 并且在清洁代码环境中也应避免(imho).
  • 使纱线/ npm的警告静音(我最近切换到纱线,但错误类似).可能不是一个好主意,警告通常是有用的...似乎也有共识,一个人不应该关闭特定的警告.我有点同意.
    • 忽略他们.对我来说不是一个选择 - 如上所述,干净的构建过程不应该返回警告.

那么:有没有办法以干净的方式处理这些对等依赖警告?

bsp*_*ion 3

可悲的是,真正的答案是我们需要忽略这些警告。

创建者ng-bootstrap明确指出,由于此答案中的技术原因,警告是我们唯一的选择。他们还提到,由于潜在的冲突,您不应该安装jquery或依赖项(根据安装文档)。popper.js