В настоящее время я настраиваю рабочий процесс веб-пакета для нового проекта, и мне трудно понять, как копировать изображения, сохраняя при этом старую структуру папок.
Например, у меня есть изображения в /src/img/folder/name/01.png
При использовании следующего правила с веб-пакетом все изображения помещаются непосредственно в папку / dist / img / без учета структуры папки.
{
test: /\.(jpg|png|svg/gif)$/,
exclude: [/node_modules/, /font/, /fonts/],
use: {
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'img/',
publicPath: 'img/ ',
},
},
},
Я понимаю, что буквально приказываю веб-пакету сделать это, хотя я попытался прочитать документацию по загрузчику файлов и обнаружил, что могу использовать [путь], чтобы поместить изображения в их относительную папку, но затем они в конечном итоге в /dist/img/src/img/folder/name/01.png
Я знаю, что могу установить контекст в загрузчике файлов так, чтобы он указывал на конкретный каталог, например:
{
test: /\.(jpg|png|svg|gif)$/,
exclude: [/node_modules/, /font/],
use: {
loader: 'file-loader',
options: {
context: './src/vendors/mylib/img/',
name: '[path][name].[ext]',
outputPath: 'img/',
publicPath: 'img/ ',
},
},
},
Но это кажется ужасно излишним. Существует ли более простой способ заставить изображения в веб-пакете копировать из различных папок / img /, которые есть у меня, и библиотек, на которые я полагаюсь, при этом сохраняя структуру папок скопированных файлов?