Кнопка раскрывающегося списка начальной загрузки не выпадает при использовании начальной загрузки 4
Я создаю приложение фляги с начальной загрузкой. Я пытаюсь использовать элемент, для которого требуется jquery + popper, например раскрывающееся меню. Кнопка отображается, но не опускается
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="/static/node_modules/bootstrap/dist/css/bootstrap.min.css">
<title>hello world</title>
</head>
<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="/static/node_modules/jquery/dist/jquery.min.js"</script>
<script src="/static/node_modules/popper.js/dist/popper.min.js" </script>
<script src="/static/node_modules/bootstrap/dist/js/bootstrap.min.js" </script>
<body>
</html>
Для справки, вот как выглядит мое файловое дерево
Это версии зависимостей, которые я установил (установил с помощью пряжи)
- @popperjs / core @2.4.4
- bootstrap@4.5.2
- jquery@3.3.1
- popper.js@1.16.1
В консоли нет сообщений об ошибках
Когда я просто ссылаюсь на такие сценарии, у меня не было никаких проблем
https://getbootstrap.com/docs/4.1/getting-started/introduction/
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
Я видел много связанных вопросов, но ни одно из предложенных решений пока не помогло. Вот совет, который я видел до сих пор:
- убедитесь, что сценарий jquery находится перед сценарием начальной загрузки (проверьте)
- удалите зависимость popper и используйте bootstrap.bundle.js или bootstrap.bundle.min.js (я пробовал оба)
- убедитесь, что вы дважды не включаете jquery начальной загрузки (проверьте)
- Добавить
<script>$('.dropdown-toggle').dropdown();</script>
(не работает)
1 ответ
Решение
Вы забыли закрыть теги скрипта в своем index.html
<script src="/static/node_modules/jquery/dist/jquery.min.js"></script>
<script src="/static/node_modules/popper.js/dist/popper.min.js"></script>
<script src="/static/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>