webpack打包静态资源和动态资源

1.对于静态引用的资源:
<img src = "static/modelname/imgname.png">
// 修改为下面的写法
<img src = "../../../static/modelname/imgname.png">
 
2.不准在内联内显试的引用图片
// 禁止出现下面写法
<div style = "background: src(...)"></div>
 
3.动态引用的图片
<img ref = 'test'></img>
this.$refs.test.src = require('../../static/httpdemo/111.png')

<div ref = 'test'></div>
this.$refs.test.style.background = 'url(' + require('../../static/httpdemo/111.png') + ')'

// webpack会将../../../static/httpdemo/下所有图片打包。
<img :src = "require('../../../static/httpdemo/' + id)" v-show="id"></img>
<div :style = "'background: src(' + require('../../../httpdemo' + id) + ')'"></div>
 
<template>
  <div>
    <zy-header :headerTitle="$route.meta.title" :rightShow="true"></zy-header>
    <div class="container">
      // 通过:src设置图片路径
      // 如果在页面初始化时或者在操作过程中将imgName值赋为'',这时页面会显示找不到图片,最好加上v-show。
      <img ref="test" class="test" :src="img" v-show="imgName"></img>
      // 通过:style设置背景图路径
      <div class="test" :style="backgroundimg"></div>
    </div>
  </div>
</template>

<script>
  import ZyHeader from '../../components/ZyHeader'
  export default {
    data () {
      return {
        imgName: '111.png',    // 图片名初始化,后面通过修改imgName的值动态更换图片
        bgImgName: '111.png'   // 背景图初始化
      }
    },
    components: {
      ZyHeader
    },
    computed: {
      // 图片
      img () {
        return this.imgName ? require('../../../static/httpdemo/' + this.imgName) : ''
      },
      // 背景图
      backgroundimg () {
        return this.imgName ? {
          backgroundImage: 'url(' + require('../../../static/httpdemo/' + this.bgImgName) + ')',
          backgroundRepeat: 'no-repeat',
          backgroundSize: '25px auto'
        } : {}
      }
    }
  }
</script>
<style scoped>
  .test{
    width:100px;
    height:100px;
  }
</style>
 
posted @ 2018-01-02 14:29  Acmen、L  阅读(2058)  评论(0编辑  收藏  举报