В Webpack 5 используются Asset Modules вместо привычных raw-loader, file-loader, url-loader. Чтобы вернуть поведение 4й версии и пользоваться лоадерами, можно в правиле указать type: 'javascript/auto'.
Больше инфы по
ссылке
Я использую следующий конфиг с ассет модулями, чтобы разложить картинки и шрифты по разным папкам, используя generator:
module: {
rules: [
....
{
test: /\.(woff|woff2|ttf|otf|eot)$/,
type: 'asset/resource',
generator: {
filename: 'assets/fonts/[name][ext]'
}
},
{
test: /\.(jpe?g|png|gif|svg|ico)$/,
type: 'asset/resource',
generator: {
filename: 'assets/img/[name][ext]'
}
}
....
],
},