Решение:
Вы можете использовать пакетный загрузчик, импортировав
<script src="/js/bootstrap.bundle.min.js"></script>
См. Документацию здесь .
Или используйте UDM версию popper, см. Подробности ниже.
Шаги по использованию popper
Мне нравятся менеджеры пакетов.Итак, вот так:
npm init
Просто скажите да всем ..
npm install bootstrap --save
npm install jquery --save
npm install popper.js --save
Я создал две папки js и css с файлом index.html следующим образом:
index.html
package.json
package-lock.json
|_ js
|_ css
|_ node_modules
|_ bootstrap
|_ dist
|_ jquery
|_ dist
|_ popper.js
|_ dist
|_udm
|_esm
Затем я скопировал файлы из папки dist в различные библиотеки, расположенные в node_modules, в папки css и js.За исключением popper, использует файл popper.js или файл popper.min.js, расположенный в папке dist / udm
Содержимое файла index.html выглядит следующим образом:
<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
<title>Popper Test</title>
<link rel="stylesheet" href="/css/bootstrap.min.css">
</head>
<body>
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown button
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
<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> -->
</body>
</html>
Для запуска примера, который я использовал: http-сервер найден здесь Запустив
npm install http-server -g
http-server
Если вы не использовали версию UDM, то Открытие Chrome и переход на http://127.0.0.1:8080. Поднимает мою страницу, нажимая F12, а затем попытка нажать на выпадающий список завершается неудачно с сообщением об ошибке:
bootstrap.min.js:6 Uncaught TypeError: Bootstrap's dropdowns require Popper.js (https://popper.js.org/)
at c.t.toggle (bootstrap.min.js:6)
at HTMLButtonElement.<anonymous> (bootstrap.min.js:6)
at Function.each (jquery.min.js:2)
at w.fn.init.each (jquery.min.js:2)
at w.fn.init.c._jQueryInterface [as dropdown] (bootstrap.min.js:6)
at HTMLButtonElement.<anonymous> (bootstrap.min.js:6)
at HTMLDocument.dispatch (jquery.min.js:2)
at HTMLDocument.y.handle (jquery.min.js:2)
Либо используйте UDM версия, описанная выше, или связанная версия начальной загрузки путем переключения с:
<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> -->
на:
<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>
Работы.
Реализованные версии:
- начальная загрузка : 4.2.1
- jquery : 3.3.1
- popper.js :1.14.6