css - Webpack CSS 背景图像不显示

标签 css webpack background-image webpack-dev-server

我在使用 webpack 时显示 css 背景图像时遇到问题。

我有以下 css 类:

.fb {
  display: block;
  width:30px;
  height: 30px;
  background-color: red;
  background-image: url('../images/icons/facebook.png');
}

用法(使用React所以className不是类):

<div className="fb"></div>

下面是我的“web_build”文件夹的图像,webpack 将我的所有文件捆绑到其中。突出显示的是罪魁祸首图像。

build folder

以下是我在 Chrome 开发工具的“网络”选项卡中看到的捆绑 SCSS 文件。 “Img”选项卡上没有显示任何图像文件。

.fb {
  display: block;
  width: 30px;
  height: 30px;
  background-color: red;
  background-image: url(1b725f86d1e04faadfad0cda2ac6ee89.png); 
}

我看到渲染的只是一个 30x30px 的红色方 block 。

enter image description here

注释:

  • 如果我使用 <img> 直接引用图像标签,如图所示。
  • 我正在使用 webpack-dev-server
  • 我正在使用具有以下配置的 image-webpack-loader
{
    test: /\.(jpe?g|png|gif|svg|ttf|eot|svg|woff(2)?)$/i,
    loaders: [
        'file?hash=sha512&digest=hex&name=[hash].[ext]',
        'image-webpack?bypassOnDebug&optimizationLevel=7&interlaced=false'
    ]
  },

如果需要任何其他信息,请告诉我。

谢谢。

最佳答案

经过更多搜索后发现,在我的 CSS/SASS 捆绑中包含 sourceMap 会破坏 CSS 中的相对图像 URL。

解决方案:关闭源映射或指定完全限定的 publicPath URL。

以下内容对我有用。

publicPath: 'http://localhost:8080'

更多信息请点击这里 https://github.com/webpack/style-loader/issues/55

关于css - Webpack CSS 背景图像不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38283405/

相关文章:

ios - 如何快速将背景图像缩放到屏幕尺寸?

css - 如何使外部 div 继承内部非 float div 的高度?

html - 制作特定宽度列的 HTML 表格

javascript - 在 Node-Gulp-Webpack 构建中包含外部 JavaScript 文件

node.js - 发出类型声明的最有效方法是什么?

JavaFX 如何更改 HBox 的 css

css - 位置为 : absolute 的 Vue 组件

css - 覆盖 CSS 选择器中的 LESS 变量

angular - 将 Automapper 导入到 angular2 webpack 项目中

html - 主体上的背景图像 - 图像已放大