首页 > 解决方案 > 如何编写与 Webpack Encore 兼容的 jQuery 插件

问题描述

我有一个小的自定义 jQuery 插件:

(function ($) {

    $.StandardForm = function (element) {
        
        // ...
    };

    $.StandardForm.prototype = {

        submit: function(onDone, onError, always) {
        
            // ...

            $.ajax({

               // ...   
            })
        },


        startSubmit: function() {

            // ...
        },

    // ..
    };

}(jQuery));

现在我正在尝试修改以与 Webpack Encore 一起使用。我想以正确的方式做到这一点,既不使用global.$ = $;也不使用.autoProvidejQuery().

我试图像这样修改它:

import $ from "jquery";
(function ($) {

    $.StandardForm = function (element) {
        
        // ...
    };

    $.StandardForm.prototype = {

        submit: function(onDone, onError, always) {
        
            // ...

            $.ajax({

               // ...   
            })
        },


        startSubmit: function() {

            // ...
        },

    // ..
    };

}(jQuery));

第一个$没问题,但在决赛中失败了}(jQuery));

未捕获的 ReferenceError:未定义 jQuery

是的,很明显“为什么”,但我不知道导入 jQuery 和别名的正确语法是什么$

我试过了:

import $ from "jquery";
import jQuery from "jquery";

但它会爆炸。

有什么提示吗?

标签: javascriptjquerywebpackwebpack-encore

解决方案


推荐阅读