在 webpack 5 中保留子目录

MR.*_*afa 1 subdirectory webpack webpack-5

我有一个问题,但没有找到任何内容(对于 WebPack 5),
我在文件夹内创建了一个名为svginside 的文件夹images,但是当 webpack 将其编译到该文件夹​​中时dist,所有图像都会被平铺到该图像文件夹中。
有什么东西可以保留子目录吗?(在网页包 5 中)

{
    test: /\.(png|jpe?g|gif|webp)$/i,
    type: "asset/resource",
    generator: {
        filename: "images/[name][ext]",
    },
}
Run Code Online (Sandbox Code Playgroud)

谢谢

MR.*_*afa 6

我找到了解决方案,
filename属性可以是一个函数,通过这个属性我们可以获得完整路径,只需进行一些更改就可以保留子目录。

{
    test: /\.(png|jpe?g|gif|webp)$/i,
    type: "asset/resource",
    generator: {
        filename: (name) => {
            /**
             * @description Remove first & last item from ${path} array.
             * @example
             *      Orginal Path: 'src/images/avatar/image.jpg'
             *      Changed To: 'images/avatar'
             */
            const path = name.filename.split("/").slice(1, -1).join("/");
            return `${path}/[name][ext]`;
        },
    },
}
Run Code Online (Sandbox Code Playgroud)

感谢@felixmosh