vue.js - How can I get vue-loader to interpolate asset urls? -


i have image dynamic (interpolated) src attribute.

<img src="./{{bar}}.jpg"/>

how vue-loader interpolate {{bar}}?

i'm pretty sure code throws warning (not referred it):

[vue warn]: src="./{{bar}}.jpg": interpolation in "src" attribute cause 404 request. use v-bind:src instead.

so, should bind value:

<img :src="'/assets/' + bar + '.jpg'"> 

the above example loads image xxx.jpg static directory assets, not via loader yet.

to accomplish that, should use dynamic require:

<img :src="loadimage(name)">  methods: {   loadimage (imgname) {     return require('./assets/' + imgname + '.jpg')   } } 

note

it not recommended if directory contains large number of files, because webpack load files match request (for above example: ./assets/*.jpg).