vuecli3中src的文件_解决vuecli3中img src 的引入问题

最近公司要做一个在线ps 的项目 但是后台没写完, 我在用本地图片上传预览的时候 发现图片不能显示, 解决的办法 是

//页面的结构

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 啊!!!

=======补充

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 去页面跳转的怎么加配置

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为例

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

let path = require("path")

function resolve(dir) {

return path.join(__dirname, dir)

}

module.exports = {

chainWebpack: config => {

config.resolve.alias.set("@", resolve("src"));

}

}

图片引入

.check_box a.active::after {

background: url(~@/assets/images/check_box.png) no-repeat center;

}

以上这篇解决vuecli3中img src 的引入问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持云海天教程。

原文链接:https://blog.csdn.net/qq_43653325/article/details/86627942

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值