在接连两天由于在vant项目中,img标签无法匹配到src的路径页面,一直404
<van-image
src="../../src/views/backend/images/login/login-l.png"
/>
翻阅网站找到了,最合适的解决方法
1 require 引入
require 是 node 中的一个方法,他的作用是 “用于引入模块、 JSON、或本地文件”。 也就是说如果我们使用 require 来引入一个图片文件的话,那么 require 返回的就是用于引入的图片(npm 运行之后图片的编译路径)。 而如果使用字符串的话,那么则是一个 string 类型的固定字符串路径。
我们知道,src 中引入的图片应该为图片的本身路径(相对路径或者绝对路径),而 vue 项目通过 webpack 的 devServer 运行之后,默认的 vue-cli 配置下,图片会被打包成 name.hash 的图片名,在这种情况下,如果我们使用固定的 字符串路径则无法找到该图片,所以需要使用 require 方法来返回 图片的编译路径。
简单的说,使用require定义之后,你就可以动态使用了,不用require你就只能写死的。不用的话, :src=“’…/img/image.jpg’” 会被解析为字符串 .
用法:
<img :src="add">
<script>
export default {
name: "login",
data(){
return {
formName:{
phone:'1',
code:'123456'
},
add: require('./add.png'), /这里是单独的一个点
msgFlag:false,
loading:false
}
},
}
</script>
效果:
import 引入
<template>
<div style="margin:100px">
<div>
<img :src="add" // img地址
>
</div>
</div>
</template>
<script>
import cute from '../assets/images/cute.jpg' // import引入
export default {
data () {
return {
add // data中注册图片
}
}
}
</script>