Requirejs with perfect-scrollbar jQuery 插件

Requirejs with perfect-scrollbar jQuery plugin

首先让我说一下,我最近才开始使用 RequireJS,但我仍在努力了解它的工作原理。

我正在尝试使用 perfect-scrollbar,特别是 jQuery 版本。

我的index.js:

requirejs.config({
    shim: {
        'perfectScrollbar': {
            'deps': ["jquery"]
        }
    },
    paths: {
        'jquery': "lib/jquery-3.2.1.min",
        'perfectScrollbar': "lib/perfect-scrollbar.jquery.min"
    }
});

require(["jquery", "perfectScrollbar"], function () {
    $(document).ready(function () {
        $(".custom_scrollbar").perfectScrollBar();
    });
});

我在控制台中收到以下错误:

jquery-3.2.1.min.js:2 Uncaught TypeError: $(...).perfectScrollBar is not a function
    at HTMLDocument.<anonymous> (index.js:15)
    at j (jquery-3.2.1.min.js:2)
    at k (jquery-3.2.1.min.js:2)

编辑: 切换到 jQuery 2.2.1 会产生以下(类似)错误:

index.js:15 Uncaught TypeError: $(...).perfectScrollBar is not a function
    at HTMLDocument.<anonymous> (index.js:15)
    at i (jquery-2.2.1.min.js:2)
    at Object.add [as done] (jquery-2.2.1.min.js:2)
    at n.fn.init.n.fn.ready (jquery-2.2.1.min.js:2)
    at index.js:14
    at Object.execCb (require.js:5)
    at b.check (require.js:5)
    at b.<anonymous> (require.js:5)
    at require.js:5
    at require.js:5

我该如何解决这个问题?

您正在用大写 "B" 调用 $(...).perfectScrollBar()。插件的实际名称 as documented in the README$(...).perfectScrollbar() 小写 "b".