Как зделать jQuery глобальным в webpack?

Не получается прокинуть переменную jQuery за рамки модулей webpack, такой подход не работает:

import $ from "jquery";

window.$ = window.jQuery = $;

Тогда начал гуглить проблему, ну и естественно этот вопрос дубль на который уже кто-то давал ответ, но все решения которые были предложены в тех вопросах мне не помогли, остановился на решении через плагин expose-loader но вот он кидает данную проблему:

ERROR in ./node_modules/jquery/dist/jquery.js
Module build failed (from ./node_modules/expose-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
    at Object.loader (/app/assets/node_modules/expose-loader/dist/index.js:19:24)
 @ ./src/js/pages/index.js 1:0-23 7:0-1 8:4-5 17:4-5 22:22-23 27:4-5 32:22-23 37:4-5 42:22-23 47:4-5 52:22-23

при такой конфигурацыии в webpack.config.js:

module: {
        rules: [
            {
                test: require.resolve("jquery"),
                use: [
                    {
                        loader: "expose-loader",
                        options: {
                            exposes: ["$", "jQuery"],
                        },
                    },
                ]
            },
        ]
}

Ну вот хоть убейте не могу понять что эму нужно и почему он не делает свою задачу...


Ответы (1 шт):

Автор решения: UKRman

Дело было в версии webpack, у меня используется 4-я версия, так как для данной библиотеки нужен 5 и выше, были ошибка с функцией this.getOptions так как в данном контексте ее не было. Пришлось понижать версию пакета до 0.7.5

Для меня стало откровениям, что сборщик никак не отреагировал на версии зависимости.

→ Ссылка