解决vuecli3中img src 的引入问题
脚本之家 / 编程助手:解决程序员“几乎”所有问题!
脚本之家官方知识库 → 点击立即使用
最近公司要做一个在线ps 的项目 但是后台没写完, 我在用本地图片上传预览的时候 发现图片不能显示, 解决的办法 是
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //页面的结构 < div class = "workspace" > < img :src = 'img' > </ div > export default { data() { return { img:require('../../assets/fapiao.jpeg'), //这里只能使用require的方式去使用 如果img 是数组, 就用 //[require('../../assets/fapiao1.jpeg'), //require('../../assets/fapiao2.jpeg'), //require('../../assets/fapiao3.jpeg').....] fileList: [] }; }, } |
之前我用了绝对路径和 相对路径 都没有办法实现, 后来查官方文档是因为没有存放静态的asset 文件了 ,静态现在存放在public 的里面. 但是我在public里面去创建一个img 的文件,去放置图片,依然不可以. 所以 三种办法里面 只有require 使用vuecli3 ,
如果大家有好的解决办法 可以一起分享
1、在模板中直接引入图片资源(这种一般是@ 或者./ 去引入)
2、将图片资源放在static文件夹下
3、图片资源在assets文件夹下,data中必须用require加载,否则会当成字符串来处理
(我自己目前就是放在assets 里面. 因为是本地上传的 在做假数据的时候准备做一个预览,或者说以后的默认图片就是它了)
第二种,只要给图片放在static文件夹下即可:原因如下
这里在使用vuecli脚手脚构建工具,目录下会生成一个static目录,表示的是静态目录,推荐大家将img 存放在这个目录下,那么在webpack编译以后,依旧是可以获取到这个目录下的路径,这样就解决了路径不符而导致图片加载不出来的问题!当然项目中用的一般都是绝对路径,少数图片的话,这种方式挺好
但是 重点: vuecli3 没有static 啊!!!
=======补充
1 2 3 4 5 | < ul > < li v-for = "(item,index) in src" :key = "index" @ click = "jump" > < img :src = "item" alt> </ li > </ ul > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | export default { data() { return { centerDialogVisible: false , form: { LoginName: "" , PassWord: "" }, rules: { LoginName: [ { required: true , message: "请输入用户名" , trigger: "blur" } ], PassWord: [{ required: true , message: "请输入密码" , trigger: "blur" }] }, message: "" , src: [ require( "../assets/imgs/001.jpg" ), require( "../assets/imgs/002.jpg" ), require( "../assets/imgs/003.jpg" ), require( "../assets/imgs/004.jpg" ), require( "../assets/imgs/005.jpg" ) ] }; }, |
完美的动态绑定, Gong智障继续加油 哈哈哈哈~!!!
再这个页面上接着补充一个 如果router-link 去页面跳转的怎么加配置
1 2 3 4 5 6 | < ul > < li v-for = "(item,index) in src" :key = "index" @ click = "jump(item.address)" :plain = "true" > < img :src = "item.img" alt> </ li > </ ul > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | export default { data() { return { centerDialogVisible: false , src: [ { img: require( "../assets/imgs/001.jpg" ), address: "taxplayerinfo" }, { img: require( "../assets/imgs/002.jpg" ), address: "taxsheet" }, { img: require( "../assets/imgs/003.jpg" ), address: "search" }, { img: require( "../assets/imgs/004.jpg" ), address: "home" } ] }; }, methods: { jump(address) { this .$router.push({ name: address }); } } }; |
补充知识:vue-cli3.0 图片放在public,vue打包部署非根目录时,图片引入错误
解决办法:
方法1. 修改nginx 配置,以部署目录espace为例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | upstream a.xx.com{ server 127.0.0.1:8081; } server { listen 80; server_name a.xx.com; location /{ proxy_pass http: //a.xx.com; } location ^~/images/ { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http: //127.0.0.1:8001/images/; } location ^~/espace/ { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http: //127.0.0.1:8001/; } } |
方法2. 修改文件目录,将文件放于src/assets/images
vue.config.js
1 2 3 4 5 6 7 8 9 10 | let path = require( 'path' ) function resolve(dir) { return path.join(__dirname, dir) } module.exports = { chainWebpack: config => { config.resolve.alias.set( '@' , resolve( 'src' )); } } |
图片引入
1 2 3 4 | < img src = "@/assets/images/icon_file.png" > .check_box a.active::after { background: url(~@/assets/images/check_box.png) no-repeat center; } |
以上这篇解决vuecli3中img src 的引入问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
相关文章
element ui el-date-picker组件默认值方式
这篇文章主要介绍了element ui el-date-picker组件默认值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12vue项目中解决 IOS + H5 滑动边界橡皮筋弹性效果(解决思路)
最近遇到一个问题,我们在企业微信中的 H5 项目中需要用到table表格(支持懒加载 上划加载数据),但是他们在锁头、锁列的情况下,依旧会出现边界橡皮筋效果,这篇文章主要介绍了vue项目中解决 IOS + H5 滑动边界橡皮筋弹性效果,需要的朋友可以参考下2023-02-02vue3使用wangeditor封装和自定义上传文件官方教程
这篇文章主要为大家介绍了vue3使用wangeditor封装和自定义上传文件的官方教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>2023-06-06
最新评论