2013-04-11 3 views
7

Trong ứng dụng Rails của tôi, tôi có ui-bootstrap-0.2.0.js trong thư mục vendor/assets/javascripts. Tôi đã yêu cầu tệp trong tệp application.js của mình.Làm cách nào để tải mô-đun khởi động AngularJS chính xác?

tôi nhận được một thông báo lỗi khi tôi chỉ định bootstrap như sự phụ thuộc của tôi trong dòng này, angular.module('myApp',['ui.bootstrap']);, theo hướng dẫn để làm ở đây, http://angular-ui.github.io/bootstrap/

Chrome phát hiện một Uncaught ReferenceError: angular is not defined tại mô-đun định nghĩa này: angular.module("ui.bootstrap", ["ui.bootstrap.accordion", ...]) trong ui-bootstrap-0.2.0.js.

Tuy nhiên, angular.js bắt lỗi No module:ui.bootstrap. Vì vậy, có vẻ như cả hai tệp javascript này không thể nhìn thấy nhau. Có một giải pháp cho điều này?

+1

Bạn đã bao gồm 'angular.js' * trước * bootstrap? –

+0

Có, tôi đã đảm bảo rằng angular.js đã được tải trước khi khởi động. – user1002563

+0

Tôi không quen thuộc với đường dẫn nội dung của Rails. Các tệp được yêu cầu không đồng bộ hay Rails tạo ra các thẻ 'script' kết quả? Đó là, có đầu ra cuối cùng để xem xét để xem những gì đang xảy ra? –

Trả lời

2

Sau đây là cách tôi đã làm nó trong dự án của tôi:

<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> 

Và đây là cách tôi đặt mô-đun ứng dụng của tôi:

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

Tôi có thể sẽ làm điều đó giống như của bạn bằng tay, nhưng tôi muốn rằng tôi có thể yêu cầu nó trong ứng dụng Rails của tôi.js bằng cách sử dụng '' '// require bootstrap_file''', sau đó tải tất cả các tệp js của tôi bằng cách tải ứng dụng .js – user1002563

+1

Bài đăng này có thể giúp bạn không? http://stackoverflow.com/questions/6149961/rails-3-1-asset-pipeline-and-manually-ordered-javascript-requires – jpmorin