webpack5打包图片遇到的问题与解决方案

使用webpack提供的
asset/resource
做图片的打包处理,但是只能识别css中的路径,如:
.title {
  color: red;
  background: url('/src/assets/imgs/456.jpeg');
  width: 100%;
  height: 100vh;
}

但是对于

 <img src="/src/assets/imgs/123.jpeg" alt="" />

却无能为力。

所以采用了覆盖式的处理方法,即

const CopyPlugin = require("copy-webpack-plugin");
      //拷贝指定文件夹原样打包到指定目录
      new CopyPlugin({
        patterns: [{ from: "./src/assets/imgs", to: "./src/assets/imgs" }],
      }),

这个插件可以不打包做原样复制到输出文件

最后一步就是配置一下

 output: {
      assetModuleFilename: "src/assets/imgs/[name][ext]",
    },

就是

assets模块的文件输出地址。这样的话相同文件会覆盖,然后就不会打出来的包里面有相同的文件不同的名字了,但是这个解决办法应该不是最终的解决办法,如果有更好的办法希望大家给予指出
posted @ 2022-08-20 16:53  洛晨随风  阅读(366)  评论(0编辑  收藏  举报