使用 Vue 的脚手架构建项目过程中,其中一个模板是这样写的:
1 2 3 4 5 6 7
| <template> <div> <a href="#"> <img :src="imgSrc"> </a> </div> </template>
|
大致代码如上所示,其实 imgSrc 是一个变量方式引入的图片地址。
遇到的问题是 imgSrc 中的路径并不会被 webpack 编译,还保持着相对路径的状态,最终产生 404 错误。
那该如何解决?
如果使用的是 img 标签
1 2 3 4 5 6
| data () { return { img: require('path/to/your/source') } }
|
如果使用的是背景图的方式
1 2 3 4 5 6
| data () { return { img: require('path/to/your/source') } }
|
1 2
| <div :style="{backgroundImage:'url(' + img + ')'}"></div>
|
1 2 3 4
| .img { background-image: url('path/to/your/source'); }
|
通过 require 的方式去加载,就能让 webpack 编译并在生产版本中正常展示