Я работал над проектом, который имеет больше интерфейсных скриптов, чем я привык, и я решил использовать RequireJS для его организации. После того, как вы всю ночь брызгали, у меня все еще возникают проблемы, когда определенные зависимости, похоже, загружаются после этого факта.RequireJS, Shim, зависимости не загружаются должным образом
Например, Sammy нуждается в jQuery для работы. Обновление моего приложения приводит к ошибке «Sammy, function undefined». Выполняется ли функция Require перед загрузкой jQuery?
Требовать конфигурации:
require.config({
paths: {
'jquery': 'vendor/jquery.2.min',
'sammy': 'vendor/sammy',
},
shim: {
'jquery': {
debs: [],
exports: '$'
},
'sammy': {
debs: ['jquery'],
exports: 'Sammy'
}
...
Что касается моей навигации:
define([
'jquery',
'sammy'
], function($, Sammy) {
return Sammy(function() {
...
Примерно 10 процентов моих тестов, при ударе о функции Сэой, приложение poops с следующим:
Uncaught ReferenceError: jQuery is not defined sammy.js:2120
Uncaught TypeError: undefined is not a function
Способ работы RequireJS мистифицирует меня. Что мне не хватает?
Является ли 'debs: ['jquery']' опечаткой? Должно быть 'deps' http://requirejs.org/docs/api.html#config – jgillich
Вы также можете использовать require-jquery.js, в который включен jQuery, и всегда будет загружать его перед чем-либо еще: http: // requirejs.org/docs/jquery.html – jgillich
«организованный» не был опечаткой. Оставьте en_GB в покое! ;) –