美文网首页
Vue2.0全家桶项目踩的坑(一)

Vue2.0全家桶项目踩的坑(一)

作者: Darsoon | 来源:发表于2017-09-12 18:24 被阅读0次

    最近在学习了Vue2.0的全家桶之后,决定做一个实际的小项目来巩固和加深对Vue的理解,然后看到网上太多的点餐平台,播放器之后,决定做一个网络小说阅读器。本次开发采用了Vue全家桶,也就是Vue2.0+Vue-Router+Vuex.在项目过程中,遇到了一些问题,所以想写篇文章,记下来。

    本地图片引入失败问题

    图片在引入的时候,如果使用的是网络图片,可以和轻松的引入,但如果使用本地图片,就可能造成引入失败。

    路径问题

    在实际开发中,常常使用有两种图片的引入方式,比如![](./assets/logo.png),这种直接引入图片地址的方式,非常简单,但不方便图片的更换。或者是采用![](imgUrl)这样绑定数据的方式引入地址,这样只需要改变imgUrl的值就可以修改引入图片。还有一种可能会错用的![]({{ imgUrl }}),这种方式是错误,既想采用数据绑定方式又忘记使用v-bind命令。
    而如果我们想采用数据绑定的方式引入本地图片,可能和预想的结果会不一致,我们引入src/assets/目录下的logo.png,给imgUrl赋值
    imgUrl: './assets/logo.png'
    这样看似能够引入图片,然而实际效果却是

    图片路径错误
    可以很容易看出是因为路径错误的原因,只要解决这个问题,那图片自然就可以引入了

    问题解决

    移动图片

    既然知道了问题的罪魁祸首是路径,那只要修改图片位置,让网页不在把根域名作为相对路径的根目录,这时候我们观察生成vue-cli目录结构,会发现一个static目录,该目录的作用就是存放纯静态资源 (打包时直接拷贝到dist/static/里面),所以我们可以把图片放进这个目录
    imgUrl: './static/logo.png'
    这样实际效果就出来了,绑定成功

    传入图片编码

    除了移动图片之外,我们还可以采用传入图片编码的方式,即imgUrl = require('./assets/logo.png'),这样也能得到正确的引用,但这样处理的缺点的是不灵活,改变图片的时候比较麻烦。

    相关文章

      网友评论

          本文标题:Vue2.0全家桶项目踩的坑(一)

          本文链接:https://www.haomeiwen.com/subject/kmvcsxtx.html