Compiler.hooks.normalModuleFactory.tap Не удается прочитать свойство 'tap' неопределенного

Я пытаюсь использовать этот плагин от здесь, и он выдает ошибку. ЗАЧЕМ!

               compiler.hooks.normalModuleFactory.tap(
                                                   ^

TypeError: Cannot read property 'tap' of undefined

Вот плагин

/*
    MIT License http://www.opensource.org/licenses/mit-license.php
    Author Tobias Koppers @sokra
*/
"use strict";

const path = require("path");

class NormalModuleReplacementPlugin {
    constructor(resourceRegExp, newResource) {
        this.resourceRegExp = resourceRegExp;
        this.newResource = newResource;
    }

    apply(compiler) {
        const resourceRegExp = this.resourceRegExp;
        const newResource = this.newResource;
        compiler.hooks.normalModuleFactory.tap(
            "NormalModuleReplacementPlugin",
            nmf => {
                nmf.hooks.beforeResolve.tap("NormalModuleReplacementPlugin", result => {
                    if (!result) return;
                    if (resourceRegExp.test(result.request)) {
                        if (typeof newResource === "function") {
                            newResource(result);
                        } else {
                            result.request = newResource;
                        }
                    }
                    return result;
                });
                nmf.hooks.afterResolve.tap("NormalModuleReplacementPlugin", result => {
                    if (!result) return;
                    if (resourceRegExp.test(result.resource)) {
                        if (typeof newResource === "function") {
                            newResource(result);
                        } else {
                            result.resource = path.resolve(
                                path.dirname(result.resource),
                                newResource
                            );
                        }
                    }
                    return result;
                });
            }
        );
    }
}

module.exports = NormalModuleReplacementPlugin;

Этот плагин работает только с Webpack 4+, пожалуйста, укажите свою версию webpack

Naga Sai A 24.12.2018 23:02

воссоздал проблему в этом репо здесь github.com/reggi/webpack-failure

ThomasReggi 25.12.2018 00:40

импортировать веб-пакет и использовать свойство плагинов вместо разрешения, github.com/Nagasai-Aytha/webpack-failure/commit/…

Naga Sai A 25.12.2018 03:47

создан пример использования плагина - github.com/Nagasai-Aytha/webpack-failure

Naga Sai A 25.12.2018 03:48

Ваше репо просто использует версию веб-пакета. Он не использует пользовательский.

ThomasReggi 25.12.2018 06:20

Я обновился, чтобы использовать настраиваемый плагин, проблема в том, что вы должны настраивать плагин в разделе плагинов, а не разрешать

Naga Sai A 25.12.2018 23:28

обновленное репо - github.com/Nagasai-Aytha/webpack-failure

Naga Sai A 25.12.2018 23:29

Удачи @thomasreggi ?? просто хочу проверить, работает ли он

Naga Sai A 04.01.2019 22:09
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
8
1 063
0

Другие вопросы по теме