2013-04-11 14 views
7

W mojej aplikacji Rails mam ui-bootstrap-0.2.0.js w katalogu vendor/assets/javascripts. Mam wymagany plik w moim pliku application.js.Jak poprawnie załadować moduł ładujący AngularJS?

pojawia się błąd, kiedy podać bootstrap jako mojego uzależnienia w tej linii, angular.module('myApp',['ui.bootstrap']);, zgodnie z instrukcją do zrobienia, http://angular-ui.github.io/bootstrap/

Chrome wykryje Uncaught ReferenceError: angular is not defined w tym określonym modułem: angular.module("ui.bootstrap", ["ui.bootstrap.accordion", ...]) w ui-bootstrap-0.2.0.js.

Jednak angular.js przejmuje błąd No module:ui.bootstrap. Wygląda więc na to, że oba te pliki javascript nie widzą siebie nawzajem. Czy istnieje rozwiązanie tego?

+1

Czy zawierać 'angular.js' * przed * bootstrap? –

+0

Tak, upewniłem się, że plik angular.js został załadowany przed bootstrapem. – user1002563

+0

Nie jestem zbyt obeznana z linkiem aktywów Railsów. Czy żądane pliki są asynchroniczne, czy Railsy generują powstałe tagi 'script'? To znaczy, czy jest ostateczny wynik, aby zobaczyć, co się dzieje? –

Odpowiedz

2

Oto jak to zrobiłem w moim projekcie:

<script type="text/javascript" src="libs/jquery-1.9.1.min.js"></script> 
<script type="text/javascript" src="libs/jquery-ui-1.10.2.custom.min.js"></script> 

<script type="text/javascript" src="libs/angular.min.js"></script> 
<script type="text/javascript" src="libs/angular-ui.min.js"></script> 
<script type="text/javascript" src="libs/angular-resource.min.js"></script> 

<script type="text/javascript" src="libs/ui-bootstrap-tpls-0.2.0.min.js"></script> 

<script type="text/javascript" src="js/app.js"></script> 
<script type="text/javascript" src="js/services.js"></script> 
<script type="text/javascript" src="js/directives.js"></script> 
<script type="text/javascript" src="js/filters.js"></script> 
<script type="text/javascript" src="js/controllers.js"></script> 
<script type="text/javascript" src="js/utils.js"></script> 

I to jak mogę ustawić moduł aplikacji:

var app = angular.module('myapp', ['ui.bootstrap','ngResource']); 
+0

Prawdopodobnie zamierzam zrobić to tak jak twoje ręcznie, ale wolałbym, aby mógł go wymagać w moim Railsie application.js używając '' '// require bootstrap_file''', a następnie załadować wszystkie moje pliki js, ładując aplikację .js – user1002563

+1

Czy ten wpis może Ci pomóc? http://stackoverflow.com/questions/6149961/rails-3-1-asset-pipeline-and-manually-ordered-javascript-requires – jpmorin

Powiązane problemy