Bootstrap 4:未捕获的 ReferenceError:未定义 Popper

IT技术 javascript jquery bootstrap-4
2021-02-26 09:30:40

我已经使用 Node 和 Gulp 安装了 Bootstrap 4,并且在运行应用程序时出现以下错误

未捕获的 ReferenceError:未定义 Popper

到目前为止,我只使用过 Bootstrap 网格系统,我还没有使用任何需要 Bootstrap JS 的东西。在我看来,Bootstrap 缺少某些东西,或者我没有正确安装它(老实说,这可能是我) - 有没有其他人遇到过同样的问题或根本不知道修复方法?

6个回答

由于我们的引导Beta 2的版本中,我们增加了两个新的DIST文件:bootstrap.bundle.jsbootstrap.bundle.min.js含有Popper.js

另外使用这个链接可以找到最新的 Popper.js 版本:https ://cdnjs.com/libraries/popper.js因为上面链接的版本(1.8.2)很旧,最新的是 1.12.9

顺便说一句,您应该选择 Popper.js 的 UMD 版本,因为它是 Bootstrap 使用的版本

好的!也许也摆脱了 npm 警告bootstrap@4.0.0-beta.2 requires a peer of popper.js@^1.12.3 but none is installed. You must install peer dependencies yourself.
2021-05-04 09:30:40
@Johann-S 我希望这不是一个愚蠢的问题,但这是否意味着 bootstrap.bundle.min.js 取代了 bootstrap.min.js?我假设是的...
2021-05-05 09:30:40
是的,我们也在最新的 beta2 中删除了该警告:)
2021-05-11 09:30:40
这个消息仍然存在。这是我的 Yarn 安装的控制台输出片段: [3/4] Linking dependencies... warning "bootstrap@4.0.0-beta.2" has unmet peer dependency "popper.js@^1.12.3". [4/4] 📃 Building fresh packages... success Saved lockfile. ✨ Done in 43.43s.
2021-05-11 09:30:40
@Sal_Vader_808 没错!bootstrap.bundle.min.js 包含 Bootstrap + Popper.js
2021-05-13 09:30:40

使用bootstrap.bundle.js已有popper.js NPM路径'引导/距离/ JS / bootstrap.bundle.js'

它为我解决了一个问题,并且没有任何依赖错误。
2021-04-15 09:30:40

对于那些在 Webpack 上遇到此问题的人:在您的入口文件中,
import 'bootstrap'确实会出现错误。您需要删除它并将其替换为import 'bootstrap/dist/js/bootstrap.bundle.js'

这已经足够了,您不需要单独导入 Popper。这适用于引导程序 4.0.0.beta2

就我而言,事实证明应该在bootstrap.js之前调用popper.js脚本

<script src="https://../popper.js/1.12.3/umd/popper.min.js"></script>
<script src="https://../bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>
很好,解决了我的问题 :) 并非我们所有人都有机会更改引导程序,所以这很有魅力!
2021-05-09 09:30:40
更改我的 rails 5 application.js 中的顺序也有效,谢谢!
2021-05-13 09:30:40

我遇到了同样的问题,并且在一个简单的轮播上玩了半天。Mac 上的 Safari 没有正确提供反馈,因为库优先:

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.6/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>

查看我遇到的错误“你需要在 BS 之前使用 JQ 才能工作”,所以我尝试了它,也放在PopperBS 之前。

所以我在我的所有这些<head>和繁荣中都奏效了。