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

dojqjjoe  于 2024-01-08  发布在  Webpack
关注(0)|答案(1)|浏览(159)

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

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

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

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


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

t0ybt7op

t0ybt7op1#

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

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

字符串

相关问题