urlloader对vbind:src不起效

为了解决每次打包后,访问网页图片没有及时更新,仍然是使用缓存的图。特意再vue.config.js配置url-loader,打包后给图片加上hash

{
  loader: 'url-loader',
    options: {
      limit: 4096,
      name: './static/images/[name].[hash:8].[ext]'
   }
}

  

结果很奇怪,有部分静态资源起效的,一部分不起效。

多次对比起效的图片与未起效的图片,排除大小类型因素。

初步发现url-loader对 ‘/’开头的路径全部不起效。于是,我将所有的‘/’开头的静态资源路径改用的相对路径‘./’、 ‘../...’这种,然后再打包。

神奇是事情发现的,生成的带hash的图片增多了,哈哈哈。

但是,很快我又发现个问题,图片数量不对,有点少。哭唧唧~

我开始反复修改url-loader的配置,但都没用。

我开始去询问别人,都没找到原因。

然后我看看对比起效的图片引用代码,和不起效的引用代码。

哈哈哈,终于找到了。

v-bind:src的引用,图片都不起效。

问题原因找到了就好解决啦。

我在网上搜索一下有关url-loader贴,(具体那条贴当时没保存链接,后来再找没找到,先在这里表示我的无尽感激,感谢广大网页的分享!!!)

var src = '../static/hello.jpg'
var image = new Image()
image.src = src // url-loader对这条不起效哦
image.src = require(src) // url-loader对这条不起效哦

var src1 = 'hello.jpg'
image.src = require('../static/' + src1 ) //神奇的是 url-loader对这条起效,哈哈哈

  

于是我引用了。

<image :src="require('../../../static/img/'+img)" mode="widthFix"></image>

  

它起效。可喜可贺~



原文地址:https://www.cnblogs.com/baixinL/p/13530028.html