vue require()报错Cannot find module

在vue中使用require()本地电脑图片文件,

<el-image :src="require('D:/test/11/index.png')">
</el-image>

要获取本地电脑D盘下的test文件夹..的index.png图片。
这样绝对的是可以获取到并正确显示
但是这个地址是不固定的,也有可能在其它盘,所以有个json返回

list:[
    {
        ...
        imgurl:'D:/test/11/index.png',
        ...
    }
]

:src="require(imgurl)" 会报错
用es6${imgurl} 写法也会报错
重新在computed里定义 require()图片也会报错
用拼接的方式也会报错(因为可能是请求本地的D盘或C盘或E盘等..)
查看了百度,均不能解决

请问有什么比较好的解决方式吗,纠结了一下午

阅读 10.1k
3 个回答

模板字符串试试 require(`imgurl`)

list:[
    {
        ...
        imgurl:require('D:/test/11/index.png'),
        ...
    }
]

我使用了转化图片的方式可以解决,转化为base64,但这种方法好像不太好,列表图片大和多的时候就不好了。

for(const i in ARstationHave){
    var bitmap = fs.readFileSync(imgurl);
    var base64str = new Buffer(bitmap).toString('base64');
    ARstationHave[i].imgurl =  `data:image/png;base64,${base64str}`
}

对数组重新编译URL
如果有更好的方法,可以一起分享下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题