Как подключать плагины в webpack?

У меня это извечная проблема. Я не умею правильно подключать плагины в webpack и не знаю универсального способа. Прошу научить. Есть webpack.config.js:
const path = require('path');
const outputDir = path.resolve(__dirname, 'build');

module.exports = {
    entry: path.resolve(__dirname, 'src/js/main.js'),
    output: {
        path: outputDir,
        filename: 'bundle.js'
    },
    module: {
        rules: [{
            test: require.resolve('jquery'),
            use: [{
                loader: 'expose-loader',
                options: '$'
            }]
        }]
    }
};

Есть main.js где подключается JS из компонентов и сами компоненты. Допустим я хочу подключить Fancybox 3 (или что-то другое). Как это сделать правильно?
  • Вопрос задан
  • 1187 просмотров
Решения вопроса 1
profesor08
@profesor08
Чтоб jQuery плагины работали и подключались, нужен webpack.ProvidePlugin, пример ниже.

webpack.config.js
module.exports = {
    entry: path.resolve(__dirname, 'src/js/main.js'),
    output: {
        path: outputDir,
        filename: 'bundle.js'
    },
    module: {
        rules: [{
            test: require.resolve('jquery'),
            use: [{
                loader: 'expose-loader',
                options: '$'
            }]
        }]
    },
    plugins: [
        new webpack.ProvidePlugin( {
            $: 'jquery',
            jQuery: 'jquery',
            'window.jQuery': 'jquery'
        } )
    ]
};


Установи fancybox
npm i @fancyapps/fancybox

Где-то в своем коде:
import "@fancyapps/fancybox";

Потом юзаешь как обычно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы