vue背景图片资源加载问题

本文探讨了Vue项目中使用CSS设置图片背景时遇到的加载失败问题,通过require方法直接加载图片解决了该问题,并提供了修改配置文件以长期解决此问题的方法。

主要问题:
通过img的src加载图片可以加载出来,但是通过css用图片做背景时发现加载不出来
问题代码:

<template>
  <div id="app">
    <!--无法加载-->
    <!--<div style="background:url('./assets/flower.jpg'); height:200px; width:200px">-->
     <!--解决方法-->
    <div :style="{background:url_back_img}">
      xxxx
    </div>
    <img src="./assets/logo.png"/>
    <img :src="back_img">
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      back_img: require('./assets/logo.png'),
      url_back_img: "url("+require('./assets/flower.jpg')+")"
    }
  }
}
</script>

主要原因是编译后目录结构改变导致,我用了个粗暴的方法,直接require(“图片路径”),通过这种方式来直接加载图片。

网上搜了下通过分析vue编译过程来分析解决方法的,可以通过修改配置来实现。
下面这个博客详细分析各种情况下会出现的问题和产生的原因,并通过修改配置来解决相应问题。
具体参考:https://segmentfault.com/a/1190000012135787

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值