【发布时间】:2019-01-23 23:43:31
【问题描述】:
在我的 webpack 工作流程中使用 SVG 时遇到了很多麻烦。我试图让它与 CSS 中的 background: url(sample.svg) 属性一起显示。单独使用这个是行不通的,所以我想我使用了一个装载机。这是我使用的步骤。
我使用svg-url-loader 来加载 SVG。
1.
我通过 npm 安装了svg-url-loader 并将其添加到我的module.exports:
{
test: /\.svg/,
use: {
loader: 'svg-url-loader'
}
},
2. 我将此添加到我的 index.js 文件的顶部:
require('svg-url-loader!./images/topography.svg');
3.
我在我的 CSS 中添加了 background-image 和 SVG 路径:
body {
background-image: url("../images/topography.svg");
background-size: 340px, auto;
min-height: calc(100vh - 100px);
margin: 50px;
background-attachment: fixed;
letter-spacing: -1px;
}
4. SVG 未呈现到页面。当我在浏览器中检查正文时,我发现:
background: url(data:image/svg+xml,module.exports = __webpack_public_path__ + '8dccca4….svg';);
我对 data-uri 不太了解,所以也许我在那里遇到了问题。
另外,我尝试过使用不同的 SVG 文件,但都没有效果。
【问题讨论】:
-
另外,我在终端没有收到任何错误信息,webpack 正在编译成功。
标签: css svg webpack loader data-uri