Этим утром у меня был другой взгляд, и у меня есть способ сделать то, что ты не хочешь, хотя это не идеально.
Если вы переместите папку изображений в папку шаблонов и обновите свои URL-адреса в формате HTML + SCSS, чтобы они соответствовали.
Измените настройки загрузчика файлов для изображений, чтобы они помещались в каталог с тем же именем, что и исходный каталог.
...
{
loader: "file-loader",
options: {
name: "[name].[ext]",
// outputPath: "img/"
// Use same name as source
outputPath: "images/"
}
}
...
Добавьте тест в функцию ходьбы, чтобы она включала только html-файлы из каталога шаблонов, чтобы мы не получали ошибок при обработке изображений с помощью HtmlWebpackPlugin.
...
if (isDirectory) {
// File is a directory
... code ...
} else if (/\.html$/.test(file)) {
... code ...
}
...
И удалите html-загрузчик, поскольку он переписывал URL-адреса изображений, ломая их относительные пути.
С этими изменениями Webpack сохранит относительные URL-адреса в ваших тегах img. Это также создаст правильную структуру для работы в вашей директории сборки. Изображения также будут работать в CSS, все время, которое загружается из вашей директории build / root.
Это не идеальное решение, было бы неплохо, чтобы все работало автоматически, как и многие другие вещи в Webpack. Но он должен выполнить то, что вы хотите сейчас, по крайней мере, пока вы не найдете лучший способ.