使用CommonJS加载jQuery插件

Loading a jQuery plugin with CommonJS

本文关键字:插件 jQuery 加载 CommonJS 使用      更新时间:2023-09-26

我正在尝试使用Webpack引入JS模块,包括jQuery和jQuery插件。我可以毫无问题地加载jQuery,但当我试图加载一个插件与之一起使用时,我在浏览器控制台中收到了一个jQuery is not defined错误。我是CommonJS和Webpack的新手,所以如果有任何帮助,我将不胜感激。

到目前为止,这是我的代码:

var $ = require('../../../../../bower_components/jquery/dist/jquery.js');
require('../../../../../bower_components/jquery.uniform/jquery.uniform.js');
module.exports = function(){
    function init(){
        $('select, checkbox').uniform();
    }
    return {
        init: init
    };
}();

jquery.uniform.js文件的末尾,我得到了上面提到的错误,因为它引用了jQuery,由于某种原因,它还没有定义。

(function (wind, $, undef) {
    ...
    ...
}(this, jQuery));

有什么办法让它发挥作用吗?还是我这样做完全错了?

我想你可能想让它通过npm。设置package.json dep,如下所示:

"uniform": "pixelmatrix/uniform#v2.1.2",

还要确保jquery在您的项目中(即npm i jquery --save)。

在这些步骤之后,你可以尝试这样的导入:

var uniform = require('imports?$=jquery!uniform/jquery.uniform');

如果这样做有效的话,你应该能够将看起来很糟糕的导入推送到Webpack配置中。我希望这能有所帮助!