Вот мой вариант использования: большинство svg должны быть встроенными. Поэтому я устанавливаю такое правило:
{test: /\.svg$/, use: "svg-inline-loader"},
В некоторых случаях мне просто нужен URL-адрес svg, а не его встраивание. В webpack 1.x они требовались мне так: require('path/to/file.svg?external')
.
Вот соответствующее правило:
{test: /\.svg\?external$/, use: "file-loader!image-webpack-loader"},
Похоже, что webpack 2 больше не включает часть ?
при test
ing для правила, поскольку только первое правило применяется ко всем моим svgs после миграции.
Есть ли способ обойти это? Может быть, есть другая стратегия применения разных наборов загрузчиков для файлов одного и того же расширения при их require
инге?
PS: Я знаю, что мне может понадобиться такой файл: require('!file-loader!image-webpack-loader!path/to/file.svg')
, но мои загрузчики немного сложнее этого, и я не хочу постоянно повторять их настройку.
PSS: похоже, это тоже не работает (по-прежнему применяется только первое правило)
{test: /\.svg$/, use: "svg-inline-loader", exclude: /\?external/},
{test: /\.svg$/, use: "file-loader?!image-webpack-loader", include: /\?external/}