为什么不与browserify工作华而不实的旋转木马?

问题描述 投票:6回答:5

我试图用华而不实的旋转台(http://kenwheeler.github.io/slick/),并通过安装NPM。

通过browserify这样的,包括它:

slick = require('slick-carousel')

试图像这样运行:

$('.gallery__carousel').slick();

无控制台错误,不旋转木马初始化。这是怎么回事?

jquery browserify slick.js
5个回答
3
投票

注意:不建议编辑库。如果您还有如果你想一个解决办法,那么你可以按照如下图所示。

我也有使用滑溜溜的browserify同样的问题,但没有解决方案,为我工作。然后我使用了到slick.js和改变 -

找:

(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($) {

更换:

;(function ( $, window, document, undefined ) {

添加的最后一行 -

找:

}));

更换:

})( jQuery, window, document );

希望它有助于理解这个问题。


1
投票

出现该问题由于油滑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);
    }

}

作者认为,如果使用CommonJS的模块加载器(如Browserify),你应该在你的依赖有jQuery的(它与require('jquery')直接调用)。

我喜欢这个解决方案:

  1. 添加jQuery的为NPM依赖性:npm install --save jquery
  2. 使全球性的,例如与browserify-shim's export global或:window.$ = window.jQuery = require('jquery');
  3. 然后你就可以放心地需要油滑与require('slick-carousel');

1
投票

我已经解决了这个问题的另一种方式。有NPM包slick-carousel-browserify。所以:

npm install slick-carousel-browserify --save-dev

和:

$ = require ('./../../bower_components/jquery/dist/jquery.js');
slick = require('slick-carousel-browserify');
slick($('.selector'));

0
投票

尝试添加 $ = require('jquery') 之前 slick = require('slick-carousel')

这个对我有用。


0
投票
"browserify-shim": {
"jquery": "global:jQuery",
     "slick-carousel": {
      "depends": [
        "jquery: jQuery"
      ],
      "exports": "$.fn.slick"
    }
  },
  "browserify": {
    "transform": [
     "browserify-shim"
    ]
  }
© www.soinside.com 2019 - 2024. All rights reserved.