2015-01-16 3 views
2

Я пытаюсь загрузить bootstrap и kendo-ui с помощью requirejs, но оба они зависят от загружаемого jquery.Требование на загрузку скрипта RequireJS

В настоящее время все три сценария загружаются асинхр (от КДС) с:

require.config({ 
    paths: { 
     "jquery": [ 
      "https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min", 
      "libs/jquery" 
     ], 
     'bootstrap': [ 
      'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min', 
      'libs/bootstrap' 
     ], 
     'kendo': [ 
      'http://cdn.kendostatic.com/2014.1.416/js/kendo.ui.core.min', 
      'libs/kendo' 
     ] 
    } 
}) 

require(['jquery', 'bootstrap', 'kendo'], function() { 
    $('body').html('hi!') 
}) 

Как заставить его не загружать другие сценарии, пока JQuery не будет загружен полностью?

Я предполагаю, что есть лучше способ, чем:

require(['jquery'], function() { 
    require(['bootstrap', 'kendo'], function() { 
     $('body').html('hi!') 
    }) 
}) 

Если даже работает (от верхней части головы).

+0

возможный дубликат [загрузки файлов в определенном порядке с RequireJs] (http://stackoverflow.com/questions/11581611/ load-files-in-specific-order-with-requirejs) – Andreas

+0

Прочтите это раньше, где ответ на мой вопрос? – imperium2335

ответ

2

Попробуйте использовать shim-option как,

require.config({ 
    paths: { 
     'jquery': 'https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min', 
     'bootstrap': 'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min', 
     'kendo': 'http://cdn.kendostatic.com/2014.1.416/js/kendo.ui.core.min' 
    }, 

    // Use shim for plugins that does not support ADM 
    shim: { 
     'bootstrap': ['jquery'], 
     'kendo': ['jquery'] 
    } 
}); 

Кроме того, отсылаем example-of-jquery-shim