webpack 4 给出背景: url([object Module]) 作为背景图像

2024-01-08

我在设置 web-pack 4 和 svg-sprite-loader 将 svg 图标渲染为背景图像时遇到问题。我遵循 svg-sprite-loader 官方文档中的这些说明(https://github.com/kisenka/svg-sprite-loader/tree/master/examples/extract-mode https://github.com/kisenka/svg-sprite-loader/tree/master/examples/extract-mode).

我已经成功地在 dist 文件夹中创建了 sprite.svg 文件,并将其用作 html 中的 use 标签的参考。但是,我还尝试使用 src/images/icons 文件夹中的 svg 图标作为背景图像,如下所示:

background: url('../images/icons/upload_icon.svg') 10% 50% no-repeat;

执行此操作时,webpack 会正确编译,但会在 dist css 文件中创建此内容:

background: url([object Module]) 10% 50% no-repeat;

任何帮助都会很棒。

这是我的 webpack 配置文件:

const path = require("path");
const webpack = require("webpack");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const CleanWebpackPlugin = require("clean-webpack-plugin");
const SpriteLoaderPlugin = require("svg-sprite-loader/plugin");

module.exports = {
  mode: "development",
  devtool: "source-map",
  output: {
    filename: "bundle.js",
    path: path.resolve(__dirname, "dist")
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader",
          options: {
            sourceMap: true
          }
        }
      },
      {
        // scss configuration
        test: /\.scss$/,
        use: [
          MiniCssExtractPlugin.loader,
          {
            loader: "css-loader"
          },
          {
            loader: "postcss-loader"
          },
          {
            loader: "sass-loader",
            options: {
              sourceMap: true
            }
          }
        ]
      },
      {
        // html configuration
        test: /\.html$/,
        use: {
          loader: "html-loader"
        }
      },
      {
        // images configuration
        test: /\.(jpg|jpeg|gif|png|woff|woff2)$/,
        use: [
          {
            loader: "file-loader",
            options: {
              name: "[path][name].[ext]"
            }
          }
        ]
      },
      {
        test: /\.svg$/,
        use: [
          {
            loader: "svg-sprite-loader",
            options: {
              extract: true,
              spriteFilename: "sprite.svg"
            }
          }
        ]
      }
    ]
  },
  plugins: [
    // all plugins used for compiling by webpack
    new CleanWebpackPlugin(),
    new HtmlWebpackPlugin({
      title: "Style Guide",
      template: path.resolve(__dirname, "src", "index.html")
    }),
    new MiniCssExtractPlugin({
      filename: "app.css"
    }),
    new SpriteLoaderPlugin()
  ]
};

Adding esModule: false文件加载器选项对我有用。

{
    test: /\.(jpg|png|gif|svg)$/,
    use: {
        loader: 'file-loader',
        options: {
            name: "[name].[ext]",
            outputPath: "img",
            esModule: false
    }
},
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

webpack 4 给出背景: url([object Module]) 作为背景图像 的相关文章

随机推荐

  • 如何在 iOS 中注册 GCM

    我似乎无法让 GCM 推送通知正常工作 我的问题是我不知道如何从 GCM 获取注册 ID 我可以从 APN 获得令牌 但我不太确定下一步该做什么 我尝试按照教程进行操作 但它对我来说并不起作用 我是初学者 所以请明确 我想问的是 从 APN
  • 节是柯里化的结果吗?

    Hutton 的 Haskell 编程 一般来说 如果 是一个运算符 那么表达式的形式 x 和 y 用于论证x and y称为节 其作为函数的含义可以是 使用 lambda 表达式形式化如下 x gt y gt x y x y gt x y
  • Restlet流数据

    我正在执行一项任务 我将从设备读取数据并使其通过网络服务可用 每秒读取数据 4 次 我希望 Web 客户端具有开放的 HTTP 连接 并使用以下方式将设备读数作为流获取分块传输 http en wikipedia org wiki Chun
  • VSX?虚拟MX?阿尔蒂维克?虚拟现实?振动时效?!这些 PowerPC SIMD 缩写词之间有何关系?

    我听说过很多关于 Altivec 寄存器的事 但我什至没有在网上找到它POWER9 指令集架构 https www docdroid net tWT7hjD powerisa v30 pdf 在该文档中 我只在第 6 章 矢量设施 和第 7
  • 如何获取 Android 11 中已安装应用的列表

    开发者网站上描述了这一行 但我没有完全理解它 Call getInstalledApplications or getInstalledPackages Both methods should return a filtered list
  • Python 压缩子文件夹而不是整个文件夹路径

    我有一个程序可以将所有内容压缩到一个文件夹中 我没有编写这段代码 但我在网上找到了它并且我正在使用它 我打算压缩一个文件夹 例如 C folder1 folder2 folder3 我想将folder3 及其所有内容压缩到一个文件中 例如f
  • 如何列出从单个卷 ID EC2 实例创建的所有快照?

    在过去的几个月中 我们的快照备份量增加 因此我们每月在亚马逊 EC2 上的账单也随之增加 现在我想删除一些旧的 EC2 快照 所以问题是 如何使用 EC2 命令行工具查找从单个卷 ID 创建的所有快照 I tried ec2 describ
  • 访问另一个类的 Swing 组件

    我有两节课gameWindow and gameEngine 主要方法是在gameWindowclass so 是 swing GUI 代码 现在 我想访问中的 swing 组件gameEngine 怎么做 我总是得到cannot find
  • std::bit_cast 和 std::start_lifetime_as 之间有什么有用的区别吗?

    std bit cast显然是在 c 20 中引入的 和std start lifetime as被提议用于 c 23 来自P0593R5 https wg21 link p0593R5 由于它们似乎都要求所涉及的数据类型无论如何都是微不足
  • 如何在Flutter中复用非Widget类?

    我知道我们应该使用组合优于继承 https stackoverflow com a 51477727 1769177在颤振中 当我们谈论时这很有效Widgets 但是当一个类不是一个类时我该怎么办Widget 例如 我想要我的TextFie
  • 如何在代码隐藏中将 FrameworkElement.Width 属性设置为 QualifiedDouble 的值?

    我试图将我的一个控件的宽度属性设置为qualifiedDouble 如 MSDN 上所述 http msdn microsoft com en us library system windows frameworkelement width
  • Keras Embedding 层中的 mask_zero 如何工作?

    我想mask zero True当输入值为 0 时将输出 0 因此后续层可以跳过计算或其他操作 如何mask zero works 例子 data in np array 1 2 0 0 data in shape gt gt gt 1 4
  • 根据语言更改文本

    我正在使用带有语言切换器的 Wordpress 在各种语言之间进行切换 在模板中 我使用这段代码来切换硬编码文本 This is english This is another language 我有一个侧边栏 但它是通过各种小部件创建的
  • 使用 io.TextIOWrapper 包装打开的流

    如何包装一个开放的二进制流 Python 2file Python 3io BufferedReader an io BytesIO 在一个io TextIOWrapper 我正在尝试编写不改变即可工作的代码 在 Python 2 上运行
  • Xcode 6 和 Swift 中视图之间类似 Snapchat 的滑动导航)

    我一直在尝试使用滑动手势识别器和嵌入式导航控制器在我的应用程序中的视图控制器之间实现滑动导航 但它看起来与 Snapchat 的导航并不接近 实现搜索功能最有效 最合适的方法是什么 我确实是 Swift 和编程的新手 我会很感激每一个有用的
  • 找不到模块错误:没有名为“chart_studio”的模块

    I run pip install chart studio在 jupyter 笔记本中 然后运行这段代码时 import numpy as np import pandas as pd import cufflinks as cf imp
  • 如何用JQ补数字?

    我想向数字中的字符串添加前导 尾随零 结果字符串需要包含 01 或 001 而不是 1 我注意到项目https github com joelpurra jq zeros但我从包管理器 dnf fedora 安装了 jq 所以需要一些jqn
  • 绑定复选框列表

    我需要一种简单的方法来绑定复选框列表asp net C 我从数据库 Id Name 和 IsActive 中提取 3 列 Id 和 Name 我想通过它的名字就可以清楚地看出 IsActive 将用于显示选中和未选中的框 我只是想知道 数据
  • 在 Angular 2 中从子组件更新父组件属性

    我在用着 input从父组件接收属性 以便激活子组件元素之一中的 CSS 类 我能够从父母那里接收财产并激活班级 但这只有效一次 我从父级接收的属性是一个布尔数据类型 当我将其状态设置为false从子组件开始 它在父组件中不会改变 Plun
  • webpack 4 给出背景: url([object Module]) 作为背景图像

    我在设置 web pack 4 和 svg sprite loader 将 svg 图标渲染为背景图像时遇到问题 我遵循 svg sprite loader 官方文档中的这些说明 https github com kisenka svg s