相关疑难解决方法(0)

Bootstrap 4错误"Bootstrap下拉需要Popper.js",使用Aurelia CLI和Require.js

我在使用requirejs和使用TypeScript的Aurelia CLI应用程序(v0.31.1)中配置Bootstrap 4 beta时遇到问题.尝试了几个配置变化后,我继续收到以下控制台错误:

未捕获的错误:Bootstrap下拉列表需要Popper.js

以下是重现的步骤.首先,安装包:

$ npm install --save jquery bootstrap@4.0.0-beta popper.js
Run Code Online (Sandbox Code Playgroud)

接下来,我配置了aurelia.json:

  "jquery",
  {
    "name": "popper.js",
    "path": "../node_modules/popper.js/dist/umd",
    "main": "popper"
  },
  {
    "name": "bootstrap",
    "path": "../node_modules/bootstrap/dist",
    "main": "js/bootstrap.min",
    "deps": [
      "jquery",
      "popper.js"
    ],
    "exports": "$",
    "resources": [
      "css/bootstrap.css"
    ]
  }
Run Code Online (Sandbox Code Playgroud)

请注意上面的配置中:

  • popper.js在bootstrap之前注册
  • 使用UMD模块
  • popper.js被设置为jstery旁边的bootstrap的依赖项

最后,在我的app.ts中:

import 'bootstrap';
Run Code Online (Sandbox Code Playgroud)

使用此配置,使用构建au build工作正常.但运行时,使用au run --watch我得到以下控制台错误:

未捕获的错误:引导下拉需要Popper.js(https://popper.js.org)(defaults.js:19)
未捕获的错误:引导下拉需要Popper.js(https://popper.js.org)(引导. min.js:6)
...再进一步:
未捕获TypeError:plugin.load不是Module的函数.(defaults.js:19)

不幸的是,Bootstrap 4文档只提到了webpack上的说明.搜索Aurelia的Gitter.im频道和StackOverflow也是如此.我找不到关于Aurelia CLI和Require.js的样本.最后,Google点击仅显示嵌入alpha版本的示例(依赖于'tethering'而不是'popper').

关于SO的类似问题,它们有相同的错误,但不适用于我的情况:

requirejs typescript aurelia aurelia-cli bootstrap-4

13
推荐指数
3
解决办法
3万
查看次数

如何在Aurelia-CLI中添加Tether以与Bootstrap 4一起使用

我想补充引导4Aurelia.我只能得到CSS工作,但bootstrap.js需求Tether,我不能把它包括在内,因为我在控制台中不断收到此错误:

Bootstrap tooltips require Tether
Run Code Online (Sandbox Code Playgroud)

我尝试过这个

"jquery",
"Tether",
{
  "name": "tether",
  "path": "../node_modules/tether/dist",
  "main": "js/tether.min",
  "exports": "Tether",
  "resources": [
    "css/tether.css"
  ]
},
{
  "name": "bootstrap",
  "path": "../node_modules/bootstrap/dist",
  "main": "js/bootstrap.min",
  "deps": ["tether", "jquery"],
  "exports": "$",
  "resources": [
    "css/bootstrap.css"
  ]
},
Run Code Online (Sandbox Code Playgroud)

它确实捆绑了,但它仍在抱怨失踪Tether.我读了另一个堆栈的答案 ,我必须available globally which could be done via用这个makeTether requirejs.config.js`

define(['lib/tether.min'], function(tether) {
    window.Tether = tether;    
});
Run Code Online (Sandbox Code Playgroud)

但是没有这样的配置Aurelia.

requirejs tether aurelia aurelia-cli

6
推荐指数
1
解决办法
1045
查看次数