Я пытаюсь разместить кнопку ladda на странице, созданной позвоночником, с require.js вместе с компонентами начальной загрузки. Тем не менее, я получилSpinner не определен в Ladda с RequireJS
"Uncaught ReferenceError: Spinner is not defined".
Я вырезал Минимизированный spin.js из оригинального ladda.js и поместить их в том же каталоге.
Shim'ed Ladda, как показано ниже:
require.config ({
paths: {
//jquery, underscore, backbone here
spin : 'libs/ladda/spin',
ladda: 'libs/ladda/ladda'
},
shim: {
ladda: {
deps: ['spin'],
exports: 'Ladda'
}
}
});
В связи магистральная:
define([
'jquery',
'underscore',
'backbone',
'bootstrap',
'spin',
'ladda',
], function($, _, Backbone, Bootstrap, Spinner, ladda){
render: function() {
//templating
console.log ('Spinner: ' + typeof Spinner);
Ladda.create ($('button'));
}
});
я мог видеть typeof Spinner
функция. Свойство Spinner.name - «p». Должно ли Spinner.name быть «Spinner» вместо «p»? или «p» наследуется от измененной переменной?
Какие еще шаги я пропустил, чтобы сделать Spinner видимым в области ladda.js? Цените любые рекомендации.
спасибо.
Обновление: Благодаря советам Bass Jobsen, используйте hakimel совершенные spin.js
, Spinner
загружен, но ошибка по-прежнему сохраняется. Ниже Chrome Dev Tool консоли:
ladda.js называет уаг кок = новый Spinner; так что прядильщик должен быть объектом? Когда я переписываю spinner в window.Spinner = (function() { "use strict"; ...... (skipp первая оболочка). Spinner все еще будет объектом, но ошибка будет 'spinner.spin не является function. Примечание: я использую определение вместо требования, см. также: http://bardevblog.wordpress.com/2013/01/05/re-learning-backbone-js-require-js-and-amd/ –