webpack / raw-loader: использование встроенных префиксов загрузчика устарело или нет? ЭТА удаления? - PullRequest
0 голосов
/ 18 апреля 2019

Наши веб-сайты создаются с использованием нашей собственной «библиотеки компонентов».Для некоторых наших SVG-изображений нам требуется необработанное содержимое SVG-файлов, поэтому мы можем использовать Magic.Объявление raw-loader в качестве загрузчика для этих встроенных файлов было бы идеальным вариантом:

import myIcon from 'raw-loader!./myIcon.svg';

Однако это не сработает, если вы не используете префиксы загрузчика, такие как ' !! '.

import myIcon from '!!raw-loader!./myIcon.svg';

Проблема в том, что эти префиксы (очевидно) устарели.Документация webpack-4 больше не упоминает их, и я видел здесь посты в stackoverflow, в которых буквально говорится, что они устарели: Что делает -!значит в строке загрузчика webpack? .

Странно то, что официальная страница github для https://github.com/webpack-contrib/raw-loader говорит, что вы ДОЛЖНЫ использовать префиксы.

Так что я могу использоватьзагрузчик-префиксы или нет?Если функциональность устарела, когда ETA удаления и какова новая встроенная альтернатива?


Я пытался объявить загрузчики, специфичные для каталогов, в веб-пакете:

 config.module.rules.push({
    test: /\.svg$/,
    loader: 'raw-loader',
    include: ~location of files which require magic~,
  });
 config.module.rules.push({
    test: /\.svg$/,
    loader: 'url-loader',
    include: ~rest-of-em~,
  });

И полдюжины вариаций из вышеперечисленного.Но никто не работал.Как ни странно, кажется, что webpack-config полностью игнорирует raw-loader.В gatsby & storybook, например, ...

config.module.rules.push({
    test: /\.svg$/,
    loader: 'raw-loader',
  });

... просто продолжал использовать url-загрузчик, тогда как ...

config.module.rules.push({
    test: /\.svg$/,
    loader: 'file-loader',
  });

сразу переключал загрузчик файлов.(Что дает ???)

Добавьте тот факт, что изменение webpack-config, сгенерированного другими фреймворками, может быть хлопотным, особенно потому, что нам это нужно только для крайнего случая ...


(Если вам интересно, почему я спрашиваю об этом в Stackoverflow, а не https://github.com/webpack-contrib/raw-loader:, последний отправляет меня на https://gitter.im/webpack/webpack,, который отправляет меня в StackOverflow, так что мы здесь.)

...