如何在 none 相对路径中的 Vue 组件 CSS 内联样式中包含图像?
How to include image in Vue Component CSS inline styles in a none relative path?
所以我有这个组件代码
<template>
<div class="example-class">
<p>Test</p>
</div>
</template>
<style>
.example-class {
background-image: url("HOW to include the image here?");
}
</style>
如何在该样式部分代码中包含图像?
我的组件在目录中
src/component/sample-comp/MyComponent.vue
我的图像在一个目录中
assets/images
我已经尝试使用 @/assets/images/sample-image.png
它不会包含图像。它给出了下面的错误
ERROR Failed to compile with 1 errors 08:53:42
This relative module was not found:
* ./@/assets/images/cta-bg.png in ./~/css-loader?{"minimize":false,"sourceMap":false}!./~/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-18a303e8","scoped":false,"hasInlineConfig":false}!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/frontend/landing-layouts/CallToAction.vue
您不能使用 @
别名,因为 Webpack 无法理解 <style></style>
标签内的这个别名。
有两种选择。
第一个选项:
由于 @
在 Webpack 中被映射为 src/
,使用您的组件,您的路径应该是 <style></style>
标签中的 background-image: url('../../assets/images/cta-bg.png')
。
第二个选项:
您可以直接在 <div>
标签中使用 style
绑定。
<div :style="backgroundImage: `url(${require(`@/assets/images/cta-bg.png`)})`">
<p>Test</p>
</div>
所以我有这个组件代码
<template>
<div class="example-class">
<p>Test</p>
</div>
</template>
<style>
.example-class {
background-image: url("HOW to include the image here?");
}
</style>
如何在该样式部分代码中包含图像?
我的组件在目录中
src/component/sample-comp/MyComponent.vue
我的图像在一个目录中
assets/images
我已经尝试使用 @/assets/images/sample-image.png
它不会包含图像。它给出了下面的错误
ERROR Failed to compile with 1 errors 08:53:42
This relative module was not found:
* ./@/assets/images/cta-bg.png in ./~/css-loader?{"minimize":false,"sourceMap":false}!./~/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-18a303e8","scoped":false,"hasInlineConfig":false}!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/frontend/landing-layouts/CallToAction.vue
您不能使用 @
别名,因为 Webpack 无法理解 <style></style>
标签内的这个别名。
有两种选择。
第一个选项:
由于 @
在 Webpack 中被映射为 src/
,使用您的组件,您的路径应该是 <style></style>
标签中的 background-image: url('../../assets/images/cta-bg.png')
。
第二个选项:
您可以直接在 <div>
标签中使用 style
绑定。
<div :style="backgroundImage: `url(${require(`@/assets/images/cta-bg.png`)})`">
<p>Test</p>
</div>