2014-10-20 2 views
0

Я новичок в RequireJS, и я пытаюсь понять логику его использования ...Загрузка Zepto модули с requirejs

У меня есть следующий сценарий между HTML тег сценария

requirejs.config(
    {shim: { 
     'zepto': ['//cdnjs.cloudflare.com/ajax/libs/zepto/1.1.4/zepto.min.js'], 
     'js/zepto.addon.min' : 'zepto', 
     'js/zepto.swipeslide' : ['zepto', 'js/zepto.addon.min'] 
    }} 
    ); 

define(['//cdnjs.cloudflare.com/ajax/libs/zepto/1.1.4/zepto.min.js','js/zepto.addon.min','js/zepto.swipeslide'],function(){ 
    console.log('this', this, 'arguments', arguments); 
});` 

I Просто попробуйте загрузить необходимые zepto-файлы перед плагином. Тем не менее я получаю

Uncaught Error: Mismatched anonymous define() module: function(){ console.log('this', this, 'arguments', arguments); }

Я отрываясь ошибку под requirejs документы, но это не делает его ясно, что и почему это происходит.

Можете ли вы, ребята, сломать меня для меня в условиях неспециалиста, что происходит?

ответ

2

Эта настройка не имеет большого смысла. Вы должны определить свои пути, определить свои прокладки, а затем потребовать эти модули по имени.

requirejs.config({ 
    // setup global dependencies 
    shim: { 
     'addon' : 'zepto', 
     'swipeslide' : ['zepto', 'addon'] 
    }, 
    // define module paths 
    paths: { 
     'zepto': '//cdnjs.cloudflare.com/ajax/libs/zepto/1.1.4/zepto.min', 
     'addon': 'js/zepto.addon.min', 
     'swipeslide': 'js/zepto.swipeslide' 
    } 
}); 

define(['zepto', 'addon', 'swipeslide'], function($) { 
    console.log('this', this, 'arguments', arguments); 
}); 
+0

Итак, вы говорите, что «прокладки» похожи на «псевдонимы», которые связывают ваши зависимости для скриптов, когда вы их определяете? – Kendall

+1

Может быть? Я так не думаю. 'paths' - это псевдонимы формы' module: path'. «прокладки» - это определения зависимостей формы 'module: [dependencies]'. Шифры предназначены для пакетов, которые требуются в определенном порядке по сравнению с другими зависимостями. – Mathletics

+0

@Mathletics .... Я пробовал ваш код, но почему-то аргументы в функции все возвращают «undefined» ... не требует js scope переменных скриптов? – Kendall

Смежные вопросы