带有Aurelia CLI和Require.js的Bootstrap 4错误“ Bootstrap下拉列表需要Popper.js”

朱利安

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

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

这里是重现步骤。首先,安装软件包:

$ npm install --save jquery [email protected] popper.js

接下来,我配置了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"
    ]
  }

请注意,在上面的配置中:

  • 在引导程序之前注册popper.js
  • 使用UMD模块
  • 在jQuery旁边,将popper.js设置为引导程序的依赖项

最后,在我的app.ts中

import 'bootstrap';

通过这种配置,使用构建可以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上都进行搜索我无法通过Require.js找到有关Aurelia CLI的示例。最后,Google精选仅显示嵌入alpha版本的示例(依赖于“网络共享”而不是“ popper”)。

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

所以,我的问题是:如何在Aurelia CLI应用程序中使用Popper.js配置Bootstrap 4(使用Require.js,而不是Webpack)?

谢谢。

4个

Popper在测试版中取代了Tether。

因此,您需要将popper和popper换成系绳(如果您从未使用过alpha,则将其添加)到aurelia.json文件的prepend部分。(确保您链接到下面显示的UMD版本)

"prepend": [
   ...
          "node_modules/jquery/dist/jquery.js",
          "node_modules/popper.js/dist/umd/popper.min.js",
   ...
     ]

您还需要按预期进行捆绑,如下所示:

      {
        "name": "bootstrap4",
        "path": "../node_modules/bootstrap/dist",
        "main": "js/bootstrap.min",
        "deps": [
          "jquery"
        ],
        "exports": "$",
        "resources": [
          "css/bootstrap.css"
        ]
      }

=附录=

与系绳不同,popper似乎不需要前置。因此,您可以像其他依赖项一样包含它

 {
     "name": "popper.js",
     "path": "../node_modules/popper.js/dist/umd",
     "main": "popper.min"
 },

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular 4 Bootstrap下拉列表需要Popper.js

Bootstrap 下拉菜单需要带有 Angular 2 项目的 Popper.js

带有jQuery和Popper.js的Bootstrap(精简)

带有vue.js和bootstrap 4的Popover

即使包含popper.js,仍然会收到“未捕获的错误:引导程序下拉列表需要Popper.js”

Bootstrap 4 Beta-是否需要Popper.js?

未捕获的类型错误:单击按钮组按钮时,Bootstrap 的下拉菜单需要 Popper.js

未捕获的类型错误:单击按钮组按钮时,Bootstrap 的下拉菜单需要 Popper.js

Bootstrap和Popper的WordPress JS加载问题

带有Twitter Bootstrap JS的Angular JS

Fullcalendar popover 错误:Bootstrap 工具提示需要 Popper.js 虽然这已经包含在内

如何使用 Browserify / Gulp 要求 Bootstrap 4 依赖项(jQuery 和 Popper.js)

带有Bootstrap JS的Angular 2

带有JS的Bootstrap Tab-Pane

如何在Bootstrap 4 Beta中使用Popper.js

如何使用Bootstrap 4安装popper.js?

Bootstrap 4 / Popper.js干扰自动建议

Bootstrap 4,Popper.JS和WebPack -“导入和导出可能仅与sourceType:module一起出现”

HTML:JS:BOOTSTRAP; 验证多选下拉列表

Laravel 6.0 app.js仅具有require('。bootstrap');?

如何解决:“在 Bootstrap 4 的 div 和 Div 中使用 JS 不起作用,但 JS 有效”

带有Require js的jQuery依赖项错误

ui-bootstrap-tpls.min.js和ui-bootstrap.min.js有什么区别?

可以在带有CSS和JS文件的烧瓶应用程序中使用Bootstrap吗?

带有bootstrap 3和IE8的response.js

具有Intro.js透明的Bootstrap 4模态

带有Rails 4的Dropzone.js:“模板丢失”错误

带有Bootstrap 5的Vue.js(2.x)

如何将 popper.js 添加到带有 Bootstrap 5 项目的 Laravel 8?