前端 Bootstrap's dropdowns require Popper.js 异常

博主在Springboot+mybatis小demo中使用Bootstrap 4.3.1框架,写dropdown按钮无法弹出菜单,控制台报错需Popper.js。尝试多种方法,如复制官网代码、引用他人库均失败,后用npm安装,调整引入路径,将文件拖进static/lib/并修改引用,且保证Popper.js在Bootstrap.js前引用,最终解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错情景:

自己写了个简单的Springboot+mybatis小demo,前端用的是thymeleaf标签,UI用的是bootstrap框架(4.3.1)

然后,写个简单的dropdown按钮都无法实现,还是从官网搬来的


    <div class="container">
        <div class="dropdown">
            <button type="button" class="btn btn-primary dropdown-toggle" data-        toggle="dropdown">
                Dropdown button
            </button>
            <div class="dropdown-menu">
                <a class="dropdown-item" href="#">Link 1</a>
                <a class="dropdown-item" href="#">Link 2</a>
                <a class="dropdown-item" href="#">Link 3</a>
            </div>
        </div>
    </div>

头部文件如下:

<meta charset="UTF-8">
<base th:href="${  #httpServletRequest.getScheme() + '://' + #httpServletRequest.getServerName() + ':' + #request.getServerPort()  + #request.getContextPath() }"/>
    <title th:text="#{page.title.system}"></title>
    <link type="text/css"  rel="stylesheet"  th:href="@{/lib/bootstrap-4.3.1-dist/css/bootstrap.css}">
    <script type="text/javascript" th:src="@{/lib/jQuery/jQuery-3.4.1.js}"></script></script>
    <script type="text/javascript" th:src="@{/lib/bootstrap-4.3.1-dist/js/bootstrap.js}"></script>
    <script type="text/javascript" th:src="@{/lib/bootoast-master/dist/bootoast.min.js}"></script>

检查一下,bootstrap导入路径没啥不对,但页面没效果,点了没反应,根本弹不出菜单:

于是看控制台:

这句报错,初步判断就是确实了popper.js包,于是我点进去看了看bootstrap的javascript代码,确实需要导入popper.js:

于是,我从官网例子中直接打开popper.js的引用URL,复制整段js代码,然后在自己工程里新建一个popper.js,并引用进来

但,依旧是报Bootstrap's dropdowns require Popper.js这个异常,百思不得其解

于是登录popper.js官网,可找不到下载点,苦恼中,百度

百度上有两种方法,比较简单的,就是直接引用别人的popper.js库,如下:

<script src="https://cdn.bootcss.com/popper.js/1.14.7/umd/popper.min.js"></script>

但我向来不喜欢自己的工程里出现这种要联网的资源,很不靠谱,该方法放弃

 

然后,我找到了这篇博客:

解决 Bootstrap dropdown require Popper.js的问题

根据博主的方法一步一步走下去,发觉npm安装顺利,文件也有了,也引入了,可我引入的路径似乎有毛病:

跑起来,浏览一下,也报错,404:

点一下,还是这个错:

这个路径不行,非src,访问不到,于是只好把npm生成的文件拖进static/lib/路径下,并修改引用:

再跑起来,刷新,点击,解决:

注:popper.js必须在bootstrap.js之前引用进来,否则也是报错的

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值