首页 > 其他分享 >Vue中动态(import 、require)显示img图片

Vue中动态(import 、require)显示img图片

时间:2023-12-21 09:27:23浏览次数:32  
标签:Vue img require webpack import logo 打包 图片

vue中,经常会遇到显示图片的问题,

如果是一个普通组件的话,那么这样就可以了

<img src="../assets/images/avtor.jpg" width="100%">

上文的弊端有两个:

首先,是采用绝对路径引入。如果以后图片移动了位置,需要修改代码。

其次,如果说图片是一个logo图片,同一页面内有多处用到。就需要引用多次,同理,修改也要修改多处。

所以,动态引入才是王道啊~如果想写成动态的呢,可以试试如下办法:

**图片当作一个模块加载 **
方式1:

<img :src="logo">
import logo from '@assets/images/avatar.png';
data() {return {logo}
}

方式2:

<img :src="logo">
data() {return {logo:require("@assets/images/avatar.png")}
}

 

注意错误写法

这个语法 写的不对, webpack打包的时候不会处理这样的, 是当作字符串来处理了。就跟CSS里你这么写 webpack也一样不会处理,webpack会替换你的这个路径, 默认除了public目录下的静态资源原样打包,对于静态资源 有的小图会给你改成base64,
上面写的三元运算, webpack并不会执行那个运算, 因为是写在vbind里的,
require和import这种实际上是打包了以后放那里等你用。三元里运算出来的结果 直接用的是打包后的资源。

标签:Vue,img,require,webpack,import,logo,打包,图片
From: https://www.cnblogs.com/Fooo/p/17918242.html

相关文章

  • Vue项目引入图片的两种场景和三种方式
    场景一:public目录下的图片public目录public目录下的图片引入方式:Bash<!--'/images/'+图片名称,这种属于绝对路径,/指向public目录--><imgsrc="/images/image.png"> 场景二:在src目录下的图片src目录 通过import引入图片Bash//第一步:import引入importerrG......
  • Vue基础
    1vue是什么 2谁开发的 3Vue的特点  ......
  • 边做笔试边查缺补漏——算法、js基础、vue3官方文档、八股文
    边投简历边完善自己的知识库。最近这些天一直在面试和笔试+投简历中,每次面试或笔试完后其实最重要的不是结果,而是做题的过程或者说对话的过程。因为只有这些才让我知道自己哪里还有不足,比如一碰到算法题就歇菜、vue3和vue2混用、js基础知识不牢固等等。那我痛定思痛,有缺点咱就认......
  • vue vue3 jsx tsx
    0.安装插件(@vitejs/plugin-vue-jsx)vite官方提供了官方的插件来支持在vue3中使用jsx/tsx,直接安装就行。yarn add @vitejs/plugin-vue-jsx -D安装完之后在vite.config.ts中插入一下代码import vueJsx from "@vitejs/plugin-vue-jsx";export default defineConfig({......
  • Vue3
    1、ref和reactive原来reactive是一个对象类型,使用reactive重新赋值一个对象不起作用<scriptlang="ts"setup>import{reactive}from"vue";letuser=reactive({name:'小明',age:10});constdj=()=>{user={name:'大白',age:1......
  • vue3 静态配置文件
    前言有时候我们负责做的只是一个大平台系统下的某个子系统,有时候我们需要调用这个大平台系统下别的子系统的接口。如果直接把别的接口地址,直接写在代码里,那么如果别的子系统的接口调整了,会影响到我们的系统,我们还要重新打包,部署,会很繁琐。解决思路我们的想法是这样:敲代码的......
  • Vite4+Typescript+Vue3+Pinia 从零搭建(7) - request封装
    项目代码同步至码云weiz-vue3-template基于axios封装请求,支持多域名请求地址安装npmiaxios封装utils目录下新建request文件夹,并新建index.ts、request.ts和status.ts文件。1.status.ts文件主要是封装状态码exportconstErrMessage=(status:number|s......
  • uniapp app安卓、ios文件选择 (上传pdf word video img )等
    1、hybrid 必须放在项目根目录下,不然会调用失效:如图 2、建立nvue 子窗体  代码:1<template>2<viewclass="nvue">3<textclass="popup-item"@click="clickfun">选择文件</text>4<textclass="ddddd......
  • Vue使用vue-simple-uploader上传文件夹
    Vue使用vue-simple-uploader上传文件夹先睹为快1点击上传“上传文件夹”按钮 2选择文件夹 3确定上传 4上传进度 引入控件installnpminstallvue-simple-uploader--savemain.js配置importuploaderfrom'vue-simple-uploader'Vue.use(uploader)vue......
  • VUE3学习基础之模板语法
    我的vue3学习之路总是学学停停,最开始在18年开发微信小程序,就发现小程序和vue的语法有些相似,然后就去看了vue2的文档,随后忙其它的事情就丢下了。直到22年又开始捡起来vue3,有了组合式api,语法简明很多,然后又不知道忙什么丢下。。。前段有些空时间,就把vue3的学习整理下,使用vite构建......