2013-05-07 4 views
2

Я получаю ошибку модели не определен с помощью кода ниже. Я добавил подчеркивание, jquery, backbone и т. Д., Но я могу получить объект, возвращенный с помощью функции console.log только для jQuery $Магистраль не определена с требованием 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())); 
     }); 

    }); 
}); 

ответ

1

К сожалению Backbone.js не AMD включена, но вы можете использовать amdjs, чтобы сделать это.

В этом руководстве будет использоваться Require.js для реализации модульного и организованного Backbone.js.

http://backbonetutorials.com/organizing-backbone-using-modules/

+0

что в противном случае отличный проект (учебник) делает до bb 0.9.2. не может обновиться до 1.x по крайней мере из опыта –

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: '_' 
     }, 
    } 
}); 
Смежные вопросы