2013-01-12 40 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 –

相关问题