webpack 在js中引入静态图片

原文链接: webpack 在js中引入静态图片

上一篇: gif 屏幕录制

下一篇: js 使用默认参数达到强制参数的目的

在js中引入静态文件

在自己实现一个tab组件时遇到这个问题,点击不同的tab,切换不同的路由

    <div v-for="tab,index in tabs" :key="index">
      <div class="tab" @click="changeTab(tab,index)">
        <img :src="cur_index==index ? tab.active : tab.base" alt="" class="tab-img">
        <span class="tab-name" 
        :style="cur_index==index ? 'color: #1296db':'color:rgb(111,111,111)'">{{tab.name}}</span>
      </div>
    </div>

183408_uNor_2856757.png

第一次的引入方式引入static目录下的文件

 tabs: [
          {
            active: "/static/imgs/movie_active.png",
            base: "/static/imgs/movie_base.png",
            path: "/main/movie",
            name: '电影'

          },
          {
            active: "/static/imgs/comment_active.png",
            base: "/static/imgs/comment_base.png",
            path: "/main/review",
            name: '影评'
          },
          {
            active: "/static/imgs/collection_active.png",
            base: "/static/imgs/collection_base.png",
            path: "/main/collection/movie",
            name: '收藏'
          },
          {
            active: "/static/imgs/me_active.png",
            base: "/static/imgs/me_base.png",
            path: "/main/me",
            name: '我'
          },
        ]

但是这种方式需要再次请求,由于这几个图片都是比较小的,所以这种方式的效率不是很高

183705_IjId_2856757.png

184207_Cd7T_2856757.png

使用require 加载assets目录下的图片

  tabs: [
          {
            active: require("../assets/imgs/movie_active.png"),
            base: require("../assets/imgs/movie_base.png"),
            path: "/main/movie",
            name: '电影'

          },
          {
            active: require("../assets/imgs/comment_active.png"),
            base: require("../assets/imgs/comment_base.png"),
            path: "/main/review",
            name: '影评'
          },
          {
            active: require("../assets/imgs/collection_active.png"),
            base: require("../assets/imgs/collection_base.png"),
            path: "/main/collection/movie",
            name: '收藏'
          },
          {
            active: require("../assets/imgs/me_active.png"),
            base: require("../assets/imgs/me_base.png"),
            path: "/main/me",
            name: '我'
          },
        ]

实现同样的功能,但这次会将图片放入js文件中,以base64编码引入,效率比第一次的要好一点

184044_YMjN_2856757.png

184238_VbVS_2856757.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值