I'm trying to use slick carousel (http://kenwheeler.github.io/slick/) and installed via npm.
Including it via browserify like this:
slick = require('slick-carousel')
trying to run like this:
$('.gallery__carousel').slick();
No console errors, carousel not initialising. What's going on?
NOTE: It's not recommended to edit library. If still in case you want a workaround then you can follow like below.
I also had the same problem with using slick with browserify but none of solutions worked for me. Then i take a took into slick.js and changed -
Find:
(function(factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
define(['jquery'], factory);
} else if (typeof exports !== 'undefined') {
module.exports = factory(require('jquery'));
} else {
factory(jQuery);
}
}(function($) {
Replace:
;(function ( $, window, document, undefined ) {
add the last line -
Find:
}));
Replace:
})( jQuery, window, document );
Hope it helps to understand the problem.
The problem occurs thanks to this code of Slick v1.5.x:
(function(factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
define(['jquery'], factory);
} else if (typeof exports !== 'undefined') {
module.exports = factory(require('jquery'));
} else {
factory(jQuery);
}
}
Author assumes, that if you use CommonJS module loader (like Browserify), you should have had jQuery in you dependencies (it's called directly with require('jquery')
).
I prefer this solution:
npm install --save jquery
window.$ = window.jQuery = require('jquery');
require('slick-carousel');
I've solved this problem another way. There is npm package slick-carousel-browserify
.
So:
npm install slick-carousel-browserify --save-dev
And:
$ = require ('./../../bower_components/jquery/dist/jquery.js');
slick = require('slick-carousel-browserify');
slick($('.selector'));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With