Наши веб-сайты создаются с использованием нашей собственной «библиотеки компонентов».Для некоторых наших 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, так что мы здесь.)