【发布时间】:2019-01-19 14:28:57
【问题描述】:
我想在我的一个组件中使用我的资产文件夹中的 svg 图像作为背景图像。这是我的组件的一个示例:
<template>
<div class="container"></div>
</template>
<script>
export default {
name: 'component'
}
</script>
<style scoped lang="scss">
.container {
height: 40px;
width: 40px;
background-image: url('@/assets/image.svg');
}
</style>
但图片不显示。路径是正确的。我的错误在哪里? 感谢您的帮助。
【问题讨论】:
-
我已经尝试了所有可能的路径。
-
你能试试
url('~@/assets/image.svg')吗? -
谢谢,成功了!你能解释一下为什么要使用@和~吗?文档将它们都解释为模块请求
-
作为我发现的一种可能的解释(使用 Google)that:
vue-html-loader和css-loader将非根 URL 转换为相对路径。为了将其视为模块路径,请在其前面加上~ -
我使用了 vue cli 3 并尝试了
url('~@/assets/image.svg')但这不起作用,我不知道为什么。