Bootstrap 4 popper 未定义 [英] Bootstrap 4 popper is undefined
本文介绍了Bootstrap 4 popper 未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试创建一个下拉菜单,每当我点击按钮时,我都会收到 TypeError: popper is undefined
.
我尝试导入包而不是 bootstrap
//导入引导程序";导入 'bootstrap/dist/js/bootstrap.bundle.js';
我尝试先导入 jquery
import "jquery";导入引导程序";
我也尝试导入 popper
import "popper.js/dist/umd/popper.min.js";导入jquery";导入引导程序";
我还尝试在任何其他脚本之前包含来自 CDN 的 popper
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
而且我几乎尝试了上面提到的任何导入组合,仍然出现此错误,即使我可以在控制台中访问 Popper
.
<a href="/messages" class="btn btn-light flex-1 py-3 rounded-0">留言</a><a href="/phonebook" class="btn btn-light flex-1 py-3 rounded-0">电话簿</a><button id="dd" class="btn btn-light flex-1 py-3 rounded-0 mt-0" data-toggle="dropwdown">更多的按钮><div class="dropdown-menu"><a class="dropdown-item" href="/problems">问题</a></div>
然后我调用以下,因为它是一个动态生成的元素
$("#dd").dropdown();
我的问题与建议的不同,因为我解释说我已经尝试了所有建议的解决方案,但没有一个奏效.
解决方案
解决方案:
您可以通过导入使用捆绑的 bootstrap popper
在此处查看文档.
或使用 UDM 版本的 popper,请参阅下面的详细信息.
使用 popper 的步骤
我喜欢包管理器.所以这里是:
npm 初始化
对一切都说是..
npm install bootstrap --savenpm 安装 jquery --savenpm install popper.js --save
我使用 index.html 文件创建了两个文件夹 js 和 css,如下所示:
index.html包.json包锁.json|_js|_ css|_ 节点模块|_ 引导|_ 距离|_ jQuery|_ 距离|_ popper.js|_ 距离|_udm|_esm
然后我将文件从位于 node_modules 的各个库中的 dist 文件夹复制到 css 和 js 文件夹.除了 popper,使用位于 dist/udm 文件夹中的 popper.js 文件或 popper.min.js 文件
index.html文件内容如下:
<html class="no-js" lang="en"><头><title>波普尔测试</title><link rel="stylesheet" href="/css/bootstrap.min.css">头部><身体><div class="下拉"><button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">下拉按钮按钮><div class="下拉菜单" aria-labelledby="dropdownMenuButton"><a class="dropdown-item" href="#">Action</a><a class="dropdown-item" href="#">另一个动作</a><a class="dropdown-item" href="#">这里还有别的东西</a>
<script src="/js/jquery.min.js"></script><script src="/js/popper.js"></script><script src="/js/bootstrap.min.js"></script><!-- <script src="/js/bootstrap.bundle.min.js"></script>-->