【问题标题】:Bootstrap 4 beta npm dependency with ng-bootstrapBootstrap 4 beta npm 依赖与 ng-bootstrap
【发布时间】:2017-10-15 07:47:47
【问题描述】:

在 Bootstrap 4 beta 中添加了一个新的依赖项 popper.js。如果我将 package.json 中的 npm 依赖项升级到 Bootstrap 4 beta 并将 ng-bootstrap 升级到 1.0.0-beta.5,我会得到 popper.js 的“UNMET PEER DEPENDENCY”。 (当我调用 npm install 时。) 不过website of ng-bootstrap上却写着:

“不,ng-bootstrap 的目标是完全替换组件的 JavaScript 实现。也不应该包含其他依赖项,例如 jQuery 或 popper.js。这不是必需的,并且可能会干扰 ng-bootstrap 代码。”

所以我不明白这一点。如果我不添加它,我会收到上面写的警告。但是网站要求我不要添加它。我做错了什么?

我不会使用popper,所以如果没有必要,我不想将它添加到我的依赖项中。

【问题讨论】:

  • npm 不知道这一切。你告诉它下载 bootstrap,bootstrap 声明了对 popper 的依赖,所以 npm 会警告你。但是由于您只对 bootstrap 的 CSS 部分感兴趣,因此您知道实际上并不需要 popper 依赖项,因此您可以忽略警告。

标签: angular npm bootstrap-4 ng-bootstrap


【解决方案1】:

我遇到了同样的问题,即使它被记录在案,它也可能更明确......

ng-bootstrap getting started 中写到它依赖于 Angular AND Bootstrap。因此,您需要在 package.json 中包含引导程序,并在 .angular-cli.json 中引用 css/js 文件

但正如所写,Bootstrap source documentationbootstrap.min.js 不包括 Popper(引导程序需要)。您需要自己导入 Popper 或使用 bootstrap.bundle.min.js 而不是 bootstrap.min.js

这是文件:

package.json

...
 "dependencies": {
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.9",
    "bootstrap": "^4.0.0-beta.3",
 },
...

app.module.ts

...
  imports: [
   ...
   NgbModule.forRoot()
],
...

.angular-cli.json

...
  "styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css"
  ],
  "scripts": [
    "../node_modules/jquery/dist/jquery.min.js",
    "../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"
  ],
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-22
    • 2022-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    相关资源
    最近更新 更多