Ответ 1
Попробуйте это
Измените порядок файлов, которые должны быть как ниже.
<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/wow.min.js"></script>
Я пытаюсь использовать Bootstrap для создания интерфейса для программы. Я добавил jQuery 1.11.0 в <head>
и подумал, что это так, но когда я запускаю веб-страницу в браузере, jQuery сообщает об ошибке:
Uncaught Error: Bootstrap JavaScript requires jQuery
Я пытался использовать jQuery 1.9.0, я пытался с копиями, размещенными на нескольких CDN, но я не могу заставить его работать. Кто-нибудь может указать, что я делаю не так?
Попробуйте это
Измените порядок файлов, которые должны быть как ниже.
<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/wow.min.js"></script>
Если вы находитесь в среде только для браузера, используйте решение SridharR.
Если вы находитесь в среде браузера Node/CommonJS + (например, электрон, узел-webkit и т.д.); причина этой ошибки в том, что логика экспорта jQuery сначала проверяет module
, а не window
:
if (typeof module === "object" && typeof module.exports === "object") {
// CommonJS/Node
} else {
// window
}
Обратите внимание, что в этом случае он экспортирует себя через module.exports
; поэтому jQuery
и $
не назначены window
.
Таким образом, чтобы решить эту проблему, вместо <script src="path/to/jquery.js"></script>
;
Просто присвойте его себе с помощью оператора require
:
<script>
window.jQuery = window.$ = require('jquery');
</script>
ПРИМЕЧАНИЕ. Если ваше электронное приложение не нуждается в nodeIntegration
, установите для него значение false
чтобы вам не понадобился этот обходной путь.
вы должны сначала загрузить jquery, потому что bootstrap использует функции jquery. например:
<!doctype html>
<html>
<head>
<link type="text/css" rel="stylesheet" src="css/animate.css">
<link type="text/css" rel="stylesheet" src="css/bootstrap-theme.min.css">
<link type="text/css" rel="stylesheet" src="css/bootstrap.min.css">
<link type="text/css" rel="stylesheet" href="css/custom.css">
<!-- Shuffle your scripts HERE -->
<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/wow.min.js"></script>
<!-- End -->
<title>pyMeLy Interface</title>
</head>
<body>
<p class="title1"><strong>pyMeLy</strong></p>
<p class="title2"><em> A stylish way to view your media</em></p>
<div style="text-align:center;">
<button type="button" class="btn btn-primary">Movies</button>
<button type="button" class="btn btn-primary btn-lg">Large button</button>
</div>
</body>
</html>
Вам нужно добавить JQuery перед добавлением бутстрапа -
<!-- JQuery Core JavaScript -->
<script src="lib/js/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="lib/js/bootstrap.min.js"></script>
Вы указали неправильный заказ для JAVASCRIPT и BOOTSTRAP
с помощью условного бутстрапа следует следовать определению файла jquery
<!-- JQuery Core JavaScript -->
<script src="lib/js/jquery.min.js"></script>
<script src="lib/js/jquery-ui.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="lib/js/bootstrap.min.js"></script>
В моем случае решение действительно глупо и странно.
Ниже код был предварительно заполнен файлом _Layout.cshtml. (НЕ написано мной)
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
Но, когда я проверил в папке Scripts, jquery-1.10.2.min.js даже не был доступен. Следовательно, заменен код, как показано ниже, где jquery-1.9.1.min.js - это существующий файл:
<script src="~/Scripts/jquery-1.9.1.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
Я использую NodeJS и получил ту же ошибку. Как и другие ответы, проблема заключалась также в том, что JQuery нужно было загружать до Bootstrap; однако из-за характеристик NodeJS это изменение должно было быть использовано в файле pipe.js.
Изменение в файле pipe.js было следующим:
var jsFilesToInject = [
// Dependencies like jQuery, or Angular are brought in here
'js/dependencies/angular.1.3.js',
'js/dependencies/jquery.js',
'js/dependencies/bootstrap.js',
'js/dependencies/**/*.js',
];
Я также использую grunt, чтобы помочь, и он автоматически изменил порядок на главной странице html:
<!--SCRIPTS-->
<script src="/js/dependencies/angular.1.3.js"></script>
<script src="/js/dependencies/jquery.js"></script>
<script src="/js/dependencies/bootstrap.js"></script>
<!-- other dependencies -->
<!--SCRIPTS END-->
Надеюсь, это поможет! Вы не сказали, какова была ваша среда, поэтому я решил опубликовать этот ответ.
Если вы используете require.js
чем нужно добавить window.$ = window.jQuery = require('jquery')
в app.js
ИЛИ вы можете сделать загрузку зависимого файла после загрузки родительского файла.. как показано ниже
require.config({
baseUrl: "scripts/appScript",
paths: {
'jquery':'jQuery/jquery.min',
'bootstrap':'bootstrap/bootstrap.min'
},
shim
shim: {
'bootstrap':['jquery'],
},
// kick start application
deps: ['app']
});
Выше кода показано, что bootstrap
зависит от Jquery
поэтому я добавил в shim
и сделать его зависимым
Если ваш код выглядит хорошо, убедитесь, что jQuery успешно загружен на ваш сервер. В моем случае файлы jQuery были опубликованы на сервере с помощью моей IDE, но веб-сервер имел только заглушку файла 0 КБ. Без содержимого сервер не смог отправить файл в браузер.
После повторной публикации файла и проверки того, что сервер фактически получил весь файл, моя веб-страница перестала выдавать мне ошибку.
После борьбы с этой проблемой я сделал три шага:
<body></body>
а не в <head></head>
. Это сработало для меня, но может быть другое поведение в зависимости от браузера, который вы используете.Вам нужно добавить JQuery js перед добавлением файла bootstrap js, потому что BootStrap использует функцию jqueries. Поэтому обязательно загрузите первый jquery js, а затем файл bootstap js.
<!-- JQuery Core JavaScript -->
<script src="app/js/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="app/js/bootstrap.min.js"></script>
Если это происходит только в интрасети IE, проверьте настройки совместимости и снимите флажок "Отображать сайты интрасети в режиме совместимости".
IE → настройки → совместимость
Для меня у меня был JQuery перед Bootstrap, но версия, которая была несовместима.
Смотрите twitter bootstrap 3 минимальная версия jquery
Я использовал Bootstrap Beta 4, и он работает с jquery 1.12.4, но не 3.2.1.
Я перепробовал почти все вышеперечисленные методы.
Наконец исправил это, включив
script src="{%static 'App/js/jquery.js' %}"
сразу после загрузки статических файлов, т.е. {% load staticfiles %}
в base.html
На официальных документах: https://electronjs.org/docs/faq#i-can-not-use-jqueryrequirejsmeteorangularjs-in-electron
<head>
<script>
window.nodeRequire = require;
delete window.require;
delete window.exports;
delete window.module;
</script>
<script type="text/javascript" src="jquery.js"></script>
</head>