Webpack构建后背景图像丢失id svg-path.svg#id

dojqjjoe  于 11个月前  发布在  Webpack
关注(0)|答案(1)|浏览(124)

我用nextjs。
我有这样的风格:

.img {
    background-image: url(path/to/my/svg/file.svg#icon);
}

字符串
当我运行npm run dev时,我得到了类名为“img”的元素的下一个样式:

.img {
    background-image: url(path/to/my/svg/file.jsbf730sh.svg);
}


我丢失了#icon id。
我认为这是因为scss编译器,但不能解决它。

t0ybt7op

t0ybt7op1#

您应该在SVG的Webpack模块规则中使用generator.filename[fragment]替换:

module: {
  rules: [
    {
      test: /\.(png|jpe?g|ico|svg)$/,
      type: 'asset/resource',
      generator: {
        // use the '[fragment]' to keep it in output filename, e.g. icons.svg#home
        filename: 'img/[name].[hash:8][ext][fragment][query]',
      },
    },
  ],
},

字符串

相关问题