Я просто попробовал, и мне не повезло. Я обновил свой ответ, чтобы показать, что я сделал.
ой вариант использования: большинство svgs должно быть встроено. Поэтому я установил правило так:
{test: /\.svg$/, use: "svg-inline-loader"},
В некоторых случаях я просто хочу URL-адрес SVG, а не вставлять его. В веб-пакете 1.x я требовал их так:require('path/to/file.svg?external')
.
Вот соответствующее правило:
{test: /\.svg\?external$/, use: "file-loader!image-webpack-loader"},
Похоже, Webpack 2 не включает в себя?
расстаться, когдаtest
для правила, так как только первое правило применяется квсе мои 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/}