Подтвердить что ты не робот

Загрузчики Webpack vs plugins; какая разница?

В чем разница между загрузчиками и плагинами в webpack?

Документация для плагинов просто говорит:

Используйте плагины для добавления функций, обычно связанных с пакетами в веб-пакете.

Я знаю, что babel использует загрузчик для преобразований jsx/es2015, но он похож на другие общие задачи (например, copy-webpack-plugin). Вместо этого используйте плагины.

4b9b3361

Ответ 1

Погрузчики выполняют преобразование предварительной обработки практически любого формата файла, когда вы используете sth как require("my-loader!./my-awesome-module") в своем коде. По сравнению с плагинами они довольно просты, поскольку они (a) выставляют только одну единственную функцию для webpack и (b) не могут влиять на фактический процесс сборки.

Плагины, с другой стороны, могут глубоко интегрироваться в webpack, потому что они могут регистрировать крючки в системе сборки webpacks и получать доступ (и изменять) компилятор, а также то, как он работает, а также компиляцию. Поэтому они более мощные, но более трудные для поддержания.

Ответ 2

Добавление дополнительного и более простого ответа.

Погрузчики:

Погрузчики работают на уровне отдельных файлов во время или до создания пакета.

Плагины:

Плагины работают на уровне bundle или chunk и обычно работают в конце процесса генерации пакета. Плагины также могут изменять способ создания самих пакетов. Плагины имеют более мощный контроль, чем загрузчики.

Только для примера вы можете четко видеть в нижнем изображении, где работают загрузчики и где работают плагины -

введите описание изображения здесь Рекомендации: Статья и Изображение