I am trying to place a ladda button on page rendered by backbone with require.js along with bootstrap components. However, I got
"Uncaught ReferenceError: Spinner is not defined".
I cut out the minified spin.js from the original ladda.js and put them in the same directory.
Shim'ed ladda as below:
require.config ({
paths: {
//jquery, underscore, backbone here
spin : 'libs/ladda/spin',
ladda: 'libs/ladda/ladda'
},
shim: {
ladda: {
deps: ['spin'],
exports: 'Ladda'
}
}
});
In backbone view:
define([
'jquery',
'underscore',
'backbone',
'bootstrap',
'spin',
'ladda',
], function($, _, Backbone, Bootstrap, Spinner, ladda){
render: function () {
//templating
console.log ('Spinner: ' + typeof Spinner);
Ladda.create ($('button'));
}
});
I could see typeof Spinner
is a function. Spinner.name property is "p". Shouldn't Spinner.name be "Spinner" instead of "p"? or "p" is inherit from minified variable?
What other steps I miss out to make Spinner visible in scope to ladda.js? Appreciate any advice render.
Thank you.
Update:
Thanks to Bass Jobsen's advice, use hakimel committed spin.js
, Spinner
is loaded but error still persist. Below Chrome Dev Tool console: