2013-01-12 91 views
5

快速的問題...我有一個requirejs設置的定義像這樣...它的作品約8-10%的時間。似乎有時資源沒有及時加載。我可以用確保下面的代碼正確運行的方式來包裝上面的var需求列表嗎?當它不工作,我得到的錯誤是這樣的:模塊尚未加載的上下文

未捕獲的錯誤:模塊名稱「的意見/協會/協會」尚未加載方面:_

define(function(require){ 
    // requirejs - too many includes to pass in the array 
    var $ = require('jquery'), 
     _ = require('underscore'), 
     Backbone = require('backbone'), 
     namespace = require('namespace'), 
     // models 
     CustomerModel = require('models/customer/customer'), 
     // collections 
     // views 
     BaseView = require('views/baseView'), 
     Auth = require('views/auth/Auth'), 
     SideNav = require('views/sidenav/SideNav'), 
     CustomersView = require('views/customer/Customers'), 
     AssociationsView = require('views/association/Associations'), 
     //CustomerListCpeView = require('views/customer/CustomerListCpe'), 
     //CustomerAddCpeView = require('views/customer/CustomerAddCpe'), 
     // templates 
     CustomerDetailTemplate = require('text!templates/customer/customerDetail.html'); 

回答

6

即使是「傳統的」或非糖法(http://requirejs.org/docs/whyamd.html#sugar),該錯誤持續存在。事實證明,在重構過程中,我偶然引入了一個循環導入代碼。刪除那個循環導入刪除了這個錯誤。

3

將其更改爲

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    // ... 
    'views/association/Associations' 
    // ... 
], function($, _, Backbone, /* ..., */ AssociationsView) { 

    // ... 
}); 
+0

我不喜歡那個約定。當你有很多定義/要求時,這是一個痛苦的屁股。我使用替代加載方法http://requirejs.org/docs/whyamd.html#sugar –

相關問題