2013-01-12 2 views
5

Szybkie pytanie ... Mam definicję dla instalacji requirejs, tak jak ... działa około 8-10% czasu. Wydaje się, że jakiś zasób nie jest załadowany w czasie. Czy mogę zawinąć powyższą listę wymagań var w taki sposób, aby kod pod nią działał poprawnie? Błąd pojawia kiedy to nie działa to:moduł jeszcze nie załadowany do kontekstu

Uncaught Błąd: Moduł nazwa „views/stowarzyszenie/Stowarzyszenia” nie został jeszcze załadowany do kontekstu: _

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'); 

Odpowiedz

6

Nawet z „tradycyjnych” lub bez cukru metody (http://requirejs.org/docs/whyamd.html#sugar), błąd ten utrzymywał. Okazało się, że był cykliczny import, który przypadkiem wprowadziłem do bazy kodów podczas refaktoryzacji. Usunięcie tego importu kołowego usunęło ten błąd.

3

go zmienić

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

    // ... 
}); 
+0

Nie podoba mi się ta konwencja. To ból w tyłku, gdy masz dużo definicji/wymagań. Używam alternatywnej metody ładowania, http://requirejs.org/docs/whyamd.html#sugar –