在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>

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

相关推荐
登山人在路上12 小时前
Vuex构建可维护的 Vue.js 状态管理
vue.js
登山人在路上12 小时前
Pinia :下一代 Vue 状态管理
vue.js
POLITE312 小时前
Leetcode 238.除了自身以外数组的乘积 JavaScript (Day 7)
前端·javascript·leetcode
光影少年13 小时前
AI前端开发需要会哪些及未来发展?
前端·人工智能·前端框架
Vincent_Vang13 小时前
多态 、抽象类、抽象类和具体类的区别、抽象方法和具体方法的区别 以及 重载和重写的相同和不同之处
java·开发语言·前端·ide
菩提小狗13 小时前
小迪安全_第4天:基础入门-30余种加密编码进制&Web&数据库&系统&代码&参数值|小迪安全笔记|网络安全|
前端·网络·数据库·笔记·安全·web安全
闲蛋小超人笑嘻嘻13 小时前
非父子通信: provide和inject
前端·javascript·vue.js
周亚鑫13 小时前
vue3 js代码混淆
开发语言·javascript·ecmascript
止观止13 小时前
不止解构:深入掌握 ES6+ 对象与函数的高级语法糖
前端·javascript·es6
C_心欲无痕13 小时前
react - useTransition标记低优先级更新
前端·react.js·前端框架