欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue CLI 3–& # 160;在樣式標(biāo)簽中使用背景圖像

我想使用一個(gè)組件的assets文件夾中的svg圖像作為背景圖像。下面是我的組件的一個(gè)示例:

<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>

但是圖像沒(méi)有顯示出來(lái)。路徑是正確的。我錯(cuò)在哪里? 謝謝你的幫助。

正如評(píng)論中強(qiáng)調(diào)的Max Martynov,您應(yīng)該使用url('~@/assets/image.svg ')。

Webpack在解析資產(chǎn)時(shí)有一些特定的規(guī)則[1]。

為了解析別名(@),正如您所使用的,webpack必須將請(qǐng)求作為模塊請(qǐng)求來(lái)處理。使用前綴~強(qiáng)制webpack將請(qǐng)求視為模塊請(qǐng)求,類(lèi)似于require('some-module/image.svg ')。

參考 https://vuejs-templates . github . io/web pack/static . html # asset-resolving-rules 我建議使用樣式綁定。我發(fā)現(xiàn)這個(gè)帖子是非常有用的鏈接。

這里有一個(gè)使用自舉卡的例子

<div
      class="card-image"
      :style="{ backgroundImage: 'url(' + require('@/assets/images/cards.jpg') + ')' }">

圖片在src/assets/images/cards.jpg中

確保圖像擴(kuò)展名是小寫(xiě)的。如果圖像有大寫(xiě)擴(kuò)展名,將其更改為小寫(xiě),否則將無(wú)法工作。

<style lang="scss">
  .section{
    background-image: url('~@/assets/photos/DSC08611.jpg'); //WORKED!
    background-image: url('~@/assets/photos/DSC08611.JPG'); //DID NOT WORK
  }

</style>

這是對(duì)我有用的。

<div
  class="image"
  v-for="(image, imageIndex) in slideshow"
  :key="imageIndex"
  :style="{ backgroundImage: 'url(' + require(`@/assets/${image}`) + ')', width: '300px', height: '200px' }"
></div>

幻燈片顯示看起來(lái)像:

data() {
      return {
        slideshow : [
          "MyImages/1.png",
          "MyImages/2.png"
        ]
      }

對(duì)我有用的是以下幾點(diǎn):

將所需圖像移動(dòng)到公共文件夾(myapp/public/assets/myimage . png) 構(gòu)建項(xiàng)目。這將把資產(chǎn)從public文件夾移動(dòng)到dist文件夾。 npm運(yùn)行構(gòu)建

現(xiàn)在,您可以像這樣在組件中使用您的圖像:

<div :style="{background: 'url(' + '\'/assets/myimage.png\'' + ') no-repeat 0 3px'}"  ></div>

如果您的vuejs使用文件加載器,您將利用導(dǎo)入。

<template>
  <div class="container"></div>
</template>

import image from @/assets/image.svg
<script>
export default {
  name: 'component'
}
</script>

<style scoped lang="scss">
.container {
  height: 40px;
  width: 40px;
  background-image: url(image);
}
</style>

如果你使用的是Vue 3 (TypeScript)和Vite 3.2+,在你的vite.config.ts中,適當(dāng)?shù)脑O(shè)置你的base,如下圖所示。

import { defineConfig } from 'vite';

export default defineConfig({
  base: process.env.NODE_ENV === 'production' ? '/subfolder/' : '/',
});

base選項(xiàng)用于指定應(yīng)用程序的基本URL,它自動(dòng)處理資產(chǎn)路徑的解析。

如果你的圖像img.jpg在public/images文件夾中,你可以在你的css中引用它:

background-image: url('/images/img.jpg');

在為生產(chǎn)而構(gòu)建時(shí),這將被解析為:

background-image: url('/subfolder/images/img.jpg');