关于vue.js:如何优雅地在Vue页面中引入img图片

2次阅读

共计 1243 个字符,预计需要花费 4 分钟才能阅读完成。

咱们在学习 html 的时候,图片标签 <img> 引入图片

<img src=”../assets/images/avatar.png” width=”100%”>
复制代码
然而这样会有 2 个弊病:

因为采纳绝对路径引入,所以如果前面这张图片挪动了目录,就须要批改代 src 里的门路
如果这张图片在同一页面内有多个中央要应用到,就须要引入屡次,而且图片挪动了目录,这么多中央都要批改 src 门路
怎么办?应用动静门路 import、require
首先讲讲这两个兄弟,在 ES6 之前,JS 始终没有本人的模块语法,为了解决这种难堪就有了 require.js,在 ES6 公布之后 JS 又引入了 import 的概念

应用 import 引入
import 之后须要在 data 中注册一下,否则显示不了

<script>
import lf1 from ‘@/assets/images/lf1.png’
import lf2 from ‘@/assets/images/lf2.png’
import lf3 from ‘@/assets/images/lf3.png’
import lf4 from ‘@/assets/images/lf4.png’
import lf5 from ‘@/assets/images/lf5.png’
import lf6 from ‘@/assets/images/lf6.png’
import lf7 from ‘@/assets/images/lf7.png’
import top1 from ‘@/assets/images/icon_top1.png’

export default {
name: ‘Left’,
data () {

return {
  lf1,
  lf2,
  lf3,
  lf4,
  lf5,
  lf6,
  lf7,
  top1
}

}
}
</script>
复制代码
应用 require 引入
<script>
import top1 from ‘@/assets/images/cityOfVitality/icon_top1.png’

export default {
name: ‘Right’,
data () {

return {rt1: require('@/assets/images/crt1.png'),
  rt2: require('@/assets/images/crt2.png'),
  rt3: require('@/assets/images/crt3.png'),
  rt4: require('@/assets/images/crt4.png'),
  rt5: require('@/assets/images/crt5.png'),
  rt6: require('@/assets/images/crt6.png'),
  top1
}

}
}
</script>
最初
如果你感觉此文对你有一丁点帮忙,点个赞。或者能够退出我的开发交换群:1025263163 互相学习,咱们会有业余的技术答疑解惑

如果你感觉这篇文章对你有点用的话,麻烦请给咱们的开源我的项目点点 star: https://gitee.com/ZhongBangKe… 不胜感激!

正文完
 0