在Vue 3中加载本地图片和其他静态资源

在Vue 3中加载本地图片和其他静态资源有几种方法:

一、使用绝对路径:

将图片放在public目录下,然后使用绝对路径来引用它们。

例如,如果图片位于public/images/logo.png,可以在组件中使用 :

html 复制代码
<img src="/images/logo.png">

来加载它。

但是请注意:public目录下,图片不经过编译。

二、使用相对路径:

如果图片和组件位于同一目录下,可以在模板中直接使用相对路径来引用本地图片和其他静态资源。

例如,如果图片位于与组件相同的目录下,可以使用

html 复制代码
<img src="./logo.png">

来加载它。

三、使用require导入:

Vue 3中,你可以使用require函数将图片作为模块导入,然后在组件中使用它。

首先,确保你已经安装了file-loader或url-loader插件。然后,在组件中使用以下代码:

html 复制代码
<template>
  <div>
    <img :src="imageSrc" alt="My Image">
  </div>
</template>

<script>
import myImage from '@/assets/logo.png'; // 替换成你的图片路径

export default {
  data() {
    return {
      imageSrc: ''
    };
  },
  mounted() {
    this.imageSrc = require(`@/assets/logo.png`);
  }
};
</script>

也可以这样直接使用require函数来引用本地图片和其他静态资源。例如:

html 复制代码
<img :src="require('./assets/logo.png')">

在这个例子中,require('./assets/logo.png')将会返回一个包装了图片路径的模块路径。注意,使用require函数需要在vue.config.js中进行配置。

四、使用import导入:

如果你使用了Webpack等构建工具,也可以使用ES6的import语法来导入图片。

首先,确保你已经安装了file-loader或url-loader插件。然后,在组件中使用以下代码:

html 复制代码
<template>
  <div>
    <img :src="imageSrc" alt="My Image">
  </div>
</template>

<script>
import myImage from '@/assets/logo.png'; // 替换成你的图片路径

export default {
  data() {
    return {
      imageSrc: ''
    };
  },
  mounted() {
    import(`@/assets/logo.png`).then((src) => {
        this.imageSrc = src.default;
    });
  }
};
</script>

以上是几种加载本地图片和其他静态资源的方法,根据你的具体需求和项目配置选择适合的方法即可。

相关推荐
许杰小刀3 小时前
ctfshow-web文件包含(web78-web86)
android·前端·android studio
我是Superman丶4 小时前
Element UI 表格某行突出悬浮效果
前端·javascript·vue.js
恋猫de小郭4 小时前
你的代理归我了:AI 大模型恶意中间人攻击,钱包都被转走了
前端·人工智能·ai编程
xiaokuangren_4 小时前
前端css颜色
前端·css
Huanzhi_Lin4 小时前
关于V8/MajorGC/MinorGC——性能优化
javascript·性能优化·ts·js·v8·新生代·老生代
hoiii1875 小时前
C# 基于 LumiSoft 实现 SIP 客户端方案
前端·c#
anOnion5 小时前
构建无障碍组件之Meter Pattern
前端·html·交互设计
小码哥_常5 小时前
Spring Boot配置diff:解锁配置管理新姿势
前端
小码哥_常5 小时前
告别onActivityResult!Android数据回传的3大痛点与终极解决方案
前端
hhcccchh5 小时前
1.2 CSS 基础选择器、盒模型、flex 布局、grid 布局
前端·css·css3