2014-06-23 10 views
7

Ciągle otrzymuję ten błąd:Jak dołączyć ui.router do projektu AngularJS?

`Błąd: [$ injector: nomod] Moduł 'ui.router' jest niedostępny! Błędnie wpisałeś nazwę modułu lub zapomniałeś go załadować.

Ale jestem pewien, że nie wszystko poprawnie

Projekt został stworzony z Yeoman i używa Bower zarządzać zależnościami skonfigurowany z Grunt zbudować wszystko.

Yeoman generator kątowe stworzył boilerplate z podstawową ngRouter, więc zainstalowałem ui.router z

bower install angular-ui-router --save 

kątowe Wersja

1.2.16 

Bower złożyć

powyższa linia zaktualizowała plik bower.json tym wierszem w zależności lista ncies:

"angular-ui-router": "~0.2.10" 

aplikacja Moduł skonfigurować

zaktualizowałem app.js plik z dodając zależność od ui.route (oprócz różnych innych uzależnień) kątowym .module ('aplikacja' [ 'ngRoute', ... 'ui.router'])

index.html

<!-- build:js(.) scripts/vendor.js --> 
<!-- bower:js --> 
... 
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script> 
<!-- endbower --> 
<!-- endbuild --> 

Mam powyższy plik w powyższym katalogu, jestem pewien, że tam jest (skopiowałem i wkleiłem ścieżkę, aby uniknąć literówek). Próbowałem także wersji minified bez żadnej różnicy.

EDIT

Jestem bardzo, bardzo nowego do tego wszystkiego (kątowe, altana, Yeoman, etc), więc może być bardzo dobrze to wszystko nie tak, więc może się okazać, że nie będę dłużej potrzebujesz uwzględnić zależność ui.router? Chodzi mi o to, czy w jakiś sposób została zintegrowana z rdzeniową ramką rdzeń? Czy ui.router jest przestarzały?

+1

Przypuszczam, że kolejność obejmuje jest wyłączony. Być może twój tag skryptu dla interfejsu użytkownika pojawia się po dodaniu skryptu, który ma wywołanie 'angular.module'. Istnieje minimalny przykład konfiguracji dostępnej pod adresem http://angular-ui.github.io/ui-router/site/#/api/ui.router –

+0

Nie, dodałem ** referencje ** do routera ** przed main _app.js_ (który zawiera element 'anugular.module') – Cabbagesocks

+1

Czy plik' angular-ui-router.js' jest poprawnie załadowany? Coś w devtools? –

Odpowiedz

5

Jestem głupi. Znaleziono odpowiedź od this link. Po uruchomieniu grunt na linii cmd, jest skonfigurowany tak, aby nie tylko budował i sprawdzał błędy, ale także uruchamiał testy (używając karmy, której jeszcze nie rozumiem).

Więc co potrzebne do zmiany był plik karma config:

<project root>/test/karma.conf.js

Poniżej przedstawiono wcięte linia była to, co potrzebne, aby dodać:

// list of files/patterns to load in the browser 
    files: [ 
     'bower_components/angular/angular.js', 
     'bower_components/angular-mocks/angular-mocks.js', 
     'bower_components/angular-animate/angular-animate.js', 
     'bower_components/angular-cookies/angular-cookies.js', 
     'bower_components/angular-resource/angular-resource.js', 
     'bower_components/angular-route/angular-route.js', 
     'bower_components/angular-sanitize/angular-sanitize.js', 
     'bower_components/angular-touch/angular-touch.js', 
     'bower_components/angular-ui-router/release/angular-ui-router.js', 
     'app/scripts/**/*.js', 
     'test/mock/**/*.js', 
     'test/spec/**/*.js' 
    ], 
0

przejść z tego linka, ty otrzyma kompletną strukturę do pracy z kątem.js użyciu UI Rutera

Github Repository