2014-05-22 17 views
9

Tôi vừa mới bắt đầu sử dụng requirejs và tôi đang gặp sự cố mà tôi không thể giải quyết được. Tôi thỉnh thoảng bị lỗi "JavaScript của Bootstrap yêu cầu jQuery" khi tôi tải ứng dụng của mình. Dưới đây là các tập tin cần thiết:Liên tục "Bootstrap của JavaScript yêu cầu jQuery" lỗi

.HTML

<html> 
<head> 
<link href="./css/bootstrap.min.css" rel="stylesheet"> 
<link href="./css/custom.css" rel="stylesheet"> 
<script data-main="scripts/main" src="scripts/vendor/require.js"></script> 
</head> 
<body> 
... 
</body> 

require.config tôi từ main.js file:

requirejs.config({ 
    baseUrl : './scripts', 
    shim : { 
     underscore : { 
      exports : '_' 
     }, 

     bootstrap : { 
      dep : [ 'jquery'], 
      exports: 'Bootstrap' 
     }, 

     backbone : { 
      deps : [ 'jquery', 'underscore' ], 
      exports : 'Backbone' 
     }, 

     marionette : { 
      deps : [ 'jquery', 'underscore', 'backbone' ], 
      exports : 'Marionette' 
     }, 

     text: { 
      deps : [ 'jquery', 'underscore', 'backbone' ], 
      exports: 'Text' 
     } 
    }, 

    paths : { 
     jquery : 'vendor/jquery.min', 
     underscore : 'vendor/underscore', 
     bootstrap : 'vendor/bootstrap.min', 
     backbone : 'vendor/backbone', 
     marionette : 'vendor/backbone.marionette', 
     text: 'vendor/text' 
    } 
}); 

Như tôi đã nói, điều này không xảy ra mọi lúc, chỉ cần ngẫu nhiên. Ai đó có thể nhìn thấy những gì tôi đang làm sai hoặc làm cách nào tôi có thể theo dõi vấn đề?

Cảm ơn

Trả lời

11

Trong phần này của cấu hình của bạn:

bootstrap : { 
      dep : [ 'jquery'], 

Nó phải là deps không dep. Với dep, nó là như thể bạn đã không chỉ định bất kỳ phụ thuộc nào cả, có nghĩa là Bootstrap sẽ tải tốt chỉ khi jQuery xảy ra để được tải trước nó. (Ngoài ra, Bootstrap không xác định biểu tượng Bootstrap để bit exports là vô dụng.)

+0

Cảm ơn Louis! Đó là cố định nó. – DaveR

+2

Người đàn ông chết tiệt, 6 tháng Tôi đã có lỗi ẩn trong shim của tôi! Cảm ơn một tấn. – MrYellow

+0

Điều này có hiệu quả, nhưng không nên sử dụng Shims cho các mô-đun không phải của AMD? – Legends

Các vấn đề liên quan