【问题标题】:Unmet Peer Dependency popper.js未满足的对等依赖 popper.js
【发布时间】:2018-01-21 05:05:04
【问题描述】:

我在使用一些 ng-bootstrap 下拉组件时遇到了问题,因为它依赖于 jquery 3x,而 jquery 3x 又找不到 popper.js

在我的控制台中看到这个

未捕获的错误:引导下拉菜单需要 Popper.js

我该如何解决这个问题?

使用 npm 安装 jquery 显示了对不在 npm 注册表中的 popper.js 的依赖

└── UNMET PEER DEPENDENCY popper.js@^1.11.0

这是我在 package.json 中的依赖项

"dependencies": {
    "@angular/animations": "^4.2.4",
    "@angular/common": "^4.2.4",
    "@angular/compiler": "^4.2.4",
    "@angular/core": "^4.2.4",
    "@angular/forms": "^4.2.4",
    "@angular/http": "^4.2.4",
    "@angular/platform-browser": "^4.2.4",
    "@angular/platform-browser-dynamic": "^4.2.4",
    "@angular/router": "^4.2.4",
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.1",
    "bootstrap": "^4.0.0-beta",
    "core-js": "^2.4.1",
    "font-awesome": "^4.7.0",
    "jquery": "^3.2.0",
    "rxjs": "^5.4.2",
    "zone.js": "^0.8.14"
  },

【问题讨论】:

  • popper.js 只是一个WARN,bootstrap@4.0.0-beta 安装没有问题。
  • 是的 bootstrap 已安装,但看起来它需要 popper.js,我的问题是 bootstrap 下拉菜单不起作用。如何使用不在 npm 注册表中的 popper.js 安装 jquery? VM231:6 未捕获的错误:引导下拉菜单在 eval 处需要 Popper.js (popper.js.org)(在 webpackJsonp.../../../../script-loader/addScript.js.module.exports 处进行评估(跨度>
  • 正如 ng-bootstrap doc here 所述,它不依赖于 jquery 或 bootstrap.js。只有依赖项是 angular 和 bootstrap.css
  • 是的,文档是这么说的。

标签: jquery npm


【解决方案1】:

可能是你dependencies应该如下。

"dependencies": {
    "@angular/animations": "^4.2.4",
    "@angular/common": "^4.2.4",
    "@angular/compiler": "^4.2.4",
    "@angular/core": "^4.2.4",
    "@angular/forms": "^4.2.4",
    "@angular/http": "^4.2.4",
    "@angular/platform-browser": "^4.2.4",
    "@angular/platform-browser-dynamic": "^4.2.4",
    "@angular/router": "^4.2.4",
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.1",
    "@bootstrap": "^4.0.0-beta",
    "@core-js": "^2.4.1",
    "@font-awesome": "^4.7.0",
    "@jquery": "^3.2.0",
    "@rxjs": "^5.4.2",
    "@zone.js": "^0.8.14"
  },

希望我能工作

【讨论】:

    【解决方案2】:

    Popper.js 现在可以从 npm 安装:

    npm install popper.js --save
    

    【讨论】:

      【解决方案3】:

      在这里找到答案bootstrap.min.js:6 Uncaught Error: Bootstrap dropdown require Popper.js

      看起来 popper.js 不在 npm 注册表中,但它有一个 cdn,添加到我的应用程序 index.html 下面解决了下拉问题

      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
      

      【讨论】:

      • Popper.js 在 npm (npm i popper.js) 上可用
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 2017-08-25
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      相关资源
      最近更新 更多