Bootstrap 4 beta npm与ng-bootstrap的依赖关系

时间:2017-10-15 07:47:47

标签: angular npm bootstrap-4 ng-bootstrap

在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,所以如果没有必要,我不想将它添加到我的依赖项中。

1 个答案:

答案 0 :(得分:2)

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

它写在ng-bootstrap getting started中,它依赖于Angular AND Bootstrap 。因此,您需要在package.json中添加引导程序,并在.angular-cli.json

中引用css / js文件

但正如所写,在Bootstrap source documentation中,bootstrap.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"
  ],
...