2013-05-07 130 views
2

我收到Model未定義的錯誤,下面的代碼。我已經添加了下劃線,jquery,骨幹等,但我只能得到對象只有jquery的console.log函數返回$未定義主幹js的骨幹

是否有其他對象不返回內部定義函數的原因?

下面是main.js我的代碼:

require.config({ 
    paths: { 
    jquery: '//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min', 
    underscore: '//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min', 
    backbone: '//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min', 
    bootstrap: '//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min', 
    qunit: '//cdnjs.cloudflare.com/ajax/libs/qunit/1.11.0/qunit.min', 
    bootstrapDatepicker: '/js/bootstrap-datepicker', 
    backboneValidation: '//cdnjs.cloudflare.com/ajax/libs/backbone.validation/0.7.1/backbone-validation-min' 
    } 

}); 

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'bootstrap', 
    'qunit', 
    'bootstrapDatepicker', 
    'backboneValidation' 
], function($, _, Backbone, Bootstrap, Qunit, Datepicker, backboneValidation){ 

    $(function(){ 

     var ReportModel = Backbone.Model.extend({ 
      validation: { 
       'date.from': { 
        required: true, 
        msg: 'Please enter a from date' 
       }, 
       'date.to': { 
        required: true, 
        msg: 'Please enter a to date' 
       } 
      }, 
      initialize: function(){ 
       console.log('test'); 
      } 
     }); 

     $('#dp3').datepicker().on('changeDate', function(e){ 
      $('#toDate').datepicker('setStartDate', new Date(e.date.valueOf())); 
     }); 
     $('#dp4').datepicker().on('changeDate', function(e){ 
      $('#fromDate').datepicker('setEndDate', new Date(e.date.valueOf())); 
     }); 

    }); 
}); 

回答

5

使用墊片配置:http://requirejs.org/docs/api.html#config-shim。例如:

requirejs.config({ 
    paths: { 
     jquery: '//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min', 
     underscore: '//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min', 
     backbone: '//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min', 
    }, 
    shim: { 
     backbone: { 
      //These script dependencies should be loaded before loading backbone.js 
      deps: ['underscore', 'jquery'], 
      //Once loaded, use the global 'Backbone' as the module value. 
      exports: 'Backbone' 
     }, 
     underscore: { 
      exports: '_' 
     }, 
    } 
});