Bootstrap jette Erreur non Interceptée: Bootstrap, JavaScript nécessite jQuery
Je suis en train d'utiliser Bootstrap pour faire une interface pour un programme. J'ai ajouté jQuery 1.11.0 à la <head>
de la balise et de la pensée qui était qui, mais quand je lance la page web dans un navigateur jQuery signale une erreur:
Uncaught Error: Bootstrap's JavaScript requires jQuery
J'ai essayé d'utiliser jQuery 1.9.0, j'ai essayé avec des copies hébergé sur plusieurs réseaux de diffusion de contenu, mais je ne peux pas le faire fonctionner. Quelqu'un peut-il point de ce que je fais de mal?
- Inclure jQuery avant Bootstrap...
- Dans mon cas, j'ai installé jquery avant de bootstrap et puis, il a bien fonctionné. Juste y compris avant l'amorçage ne résout pas l'erreur.
Vous devez vous connecter pour publier un commentaire.
Essayer cette
Changer l'ordre des fichiers, il doit être comme ci-dessous..
Si vous êtes dans un Navigateur Uniquement de l'environnement, utilisez SridharR's solution.
Si vous êtes dans un Node/CommonJS + Navigateur environnement (par exemple, un électron, un node-webkit, etc..); la raison de cette erreur est que jQuery est logique d'exportation vérifie d'abord pour
module
, paswindow
:Noter que les exportations par le biais de
module.exports
dans ce cas; de sortejQuery
et$
ne sont pas affectées àwindow
.Donc, pour résoudre ce problème, au lieu de
<script src="path/to/jquery.js"></script>
;Il suffit d'attribuer vous-même par un
require
déclaration:REMARQUE: Si votre électrons application n'a pas besoin de
nodeIntegration
, ilfalse
de sorte que vous n'aurez pas besoin de cette solution de contournement.window.jQuery = window.$ = require('jquery');
cela a fonctionné pour moi d'essayer d'assembler un brunch construire avec jQuery 2 et Bootstrap 3. Seulement m'a fallu plusieurs heures pour trouver votre réponse si :(. Cette exigence de changement dans les versions ultérieures de jQuery?nodeIntegration
, ilfalse
de sorte que vous n'aurez pas besoin de cette solution de contournement.npm install jquery
pas avec la charmille.vous devez charger jquery d'abord parce que bootstrap utiliser jquery fonctionnalités.
comme ceci:
Vous devez ajouter JQuery avant d'ajouter bootstrap-
Vous avez fourni le mauvais ordre pour JAVASCRIPT et BOOTSTRAP
par la convention de bootstrap doit suivre le fichier jquery définition
Dans mon cas, la solution est vraiment idiot, et d'étrange.
Code ci-dessous a été pré-rempli par _Layout.cshtml fichier. (PAS écrit par moi)
Mais, quand j'ai vérifié dans le dossier Scripts, jquery-1.10.2.min.js n'était pas encore disponible. Par conséquent, remplacé code comme ci-dessous où jquery-1.9.1.min.js est un fichier existant:
Je suis l'aide de NodeJS et obtenu la même erreur. Comme les autres réponses, le problème est aussi parce que JQuery nécessaire pour être chargé avant de Bootstrap; toutefois, en raison de la NodeJS caractéristiques, ce changement n'a eu à être appliqués dans le pipeline.js fichier.
Le changement de pipeline.js était comme ça:
Je suis également utiliser grunt pour l'aider, et il est automatiquement modifié l'ordre dans la page html principale:
Espère que cela aide! Vous n'avez pas dit ce que votre environnement était, alors j'ai décidé de poster cette réponse.
Si vous utilisez
require.js
que le besoin d'ajouterwindow.$ = window.jQuery = require('jquery')
dans app.jsOU
vous pouvez vous rendre dépendant de chargement du fichier après fichier parent chargé.. comme ci-dessous concept
Code ci-dessus montre que
bootstrap
dépend deJquery
j'ai donc ajouté dansshim
et le rendre dépendantSi votre code est bon, vérifiez que jQuery chargée sur votre serveur. Dans mon cas, les fichiers jQuery ont été publiés sur le serveur par mon IDE, mais le serveur web seulement eu un 0 KO fichier stub. Sans contenu, le serveur a échoué pour desservir le fichier dans le navigateur.
Après re-publier le fichier et vérifier que le serveur a bien reçu la totalité du fichier, puis ma page web cessé de me donner l'erreur.
Vous devez ajouter JQuery js avant d'ajouter bootstrap fichier js, parce que BootStrap utilisation jqueries fonction. Donc, assurez-vous de charger en premier jquery js et ensuite bootstap fichier js.
Si cela se produit IE intranet uniquement, vérifiez la compatibilité de paramètres et décochez la case "Afficher les sites intranet en mode de Compatibilité" .
IE-->paramètres>compatibilité
Sur officiel docs:
https://electronjs.org/docs/faq#i-can-not-use-jqueryrequirejsmeteorangularjs-in-electron
J'avais essayé presque toutes les méthodes ci-dessus.
Enfin, il fixe, en incluant la
juste après le chargement de la staticfiles je.e
{% load staticfiles %}
dans base.htmlAprès aux prises avec ce problème, j'ai pris trois étapes:
<body></body>
étiquettes plutôt que dans le<head></head>
.Ces fonctionné pour moi, mais il peut y avoir des comportements différents selon le navigateur que vous utilisez.