Modul " ui.bootstrap' ist nicht verfügbar - Angularjs
Stehe ich vor einem seltsamen problem mit meinem angularjs-Projekt.
Habe ich eine website wie - www.server.com/pwm (home-Seite). In der Seite ist ein Anker-tag mit nimmt mich mit zu einer anderen Seite - www.server.com/publishers. Wenn ich laden Sie die Startseite und navigieren Sie zu dem Publisher-Seite, indem Sie den Anker-tag ein, funktioniert alles einwandfrei. Aber wenn ich direkt die url im browser erhalte ich die nachstehende Ausnahmen (zB. Wenn ich das laden der Startseite www.server.com/pwm und geben Sie dann "/Verlage" am Ende der url)
[$Injektor:nomod] Modul 'ui.bootstrap' ist nicht verfügbar! Sie entweder falsch geschrieben den Namen des Moduls oder vergessen es zu laden. Wenn die Registrierung eines Moduls sicherzustellen, dass Sie Abhängigkeiten angeben, wie das zweite argument.
http://errors.angularjs.org/1.2.18/$Injektor/nomod?p0=ui.bootstrap"
Den Teil verwirrend ist, dass ich die notwendigen Bibliotheken, und es funktioniert gut, wenn ich navigieren durch die Webseite. Das problem tritt auf, wenn ich versuche, direkt navigieren Sie zu einer untergeordneten Seite. Ich mache Gebrauch zu ngRoute und Vorlagen und laden Sie die Seite
var pubsApp = angular.module('pubsApp', ['ngResource', 'ngRoute', 'ui.bootstrap'])
und meine Skript-Dateien
<script src="/Scripts/jquery-1.9.1.js" type="text/javascript"></script>
<script src="/Scripts/angular.js" type="text/javascript"></script>
<script src="/Scripts/angular-route.js" type="text/javascript"></script>
<script src="/Scripts/angular-sanitize.js" type="text/javascript"></script>
<script src="/Scripts/angular-resource.js" type="text/javascript"></script>
<script src="/Scripts/bootstrap.js" type="text/javascript"></script>
<script src="Scripts/angular-ui/ui-bootstrap.min.js" type="text/javascript"></script>
<script src="Scripts/angular-ui/ui-bootstrap-tpls.min.js" type="text/javascript"></script>
<script src="/js/app.js" type="text/javascript"></script>
- Ist das ein single-page-app? Wenn ja, was macht Ihr routing-Tabelle Aussehen?
- ich bin nicht vertraut mit Winkel für bootstrap -, aber nicht Sie beide, angular und jquery sowie von Ihren jeweiligen bootstrap.js Dateien? Id angenommen, lassen Sie sich zumindest
/Scripts/bootstrap.js
... - Die
src
für ui-bootstrap-s js-Dateien ist relativ, also es ist wirklich kein Wunder, warum es nicht funktioniert. Machen Sie zu absoluten wie der rest? - Sie brauchen nicht ui-bootstrap.min.js und ui-bootstrap-tpls.min.js. ui-bootstrap-tpls.min.js enthält den gesamten code und den Vorlagen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle Ihre script-tags mit absoluten Pfadangaben (beginnen Sie mit einem/-), außer für die Winkel-bootstrap-tags; Sie relative Pfade verwenden. Das bedeutet, dass Sie relativ zu, wo Sie in den browser.
Ihre javascript-Dateien liegen alle bei http://www.website.com/Scripts/... weil alle Ihre Skript-tags außer diese zwei absolute Pfade verwenden, werden Sie immer Blick für das Skript an der gleichen Stelle. Doch die beiden angulcar-bootstrap-Pfade Aussehen wird, in anderen Ort, je nachdem, wo Sie in den browser.
Der Grund, warum es funktioniert, es sei denn, Sie gehen direkt auf der untergeordneten Seite ist, weil die Winkel nur jede Menge javascript-Dateien auf der ersten Seite laden und nicht auf die navigation.
So einfach ändern Sie Ihren Winkel-bootstrap-script-tags zu verwenden absolute Pfade, wie der rest Ihrer Skript-tags.
Ich hatte auch dasselbe problem und habe es behoben.
Detail weiter unten.
Überprüfen Sie Ihre {{project_root}}/test/karma.conf.js
Sicher bower_components/angular-bootstrap/ui-bootstrap-tpls.js in es.
In Ihrem Fall sollten Sie setzen Scripts/angular-ui/ui-bootstrap-tpls.min.js in es.
Ich denke, es hat nichts zu tun mit ui-bootstrap. Dieses Problem bezieht sich auf angular-routing.
Bitte versuchen Sie, diese server.com/#/publishers (Beim schreiben Standort an der Adresse-Leiste manuell).