浅谈在vue-cli3项目中解决动态引入图片img404的问题

首先,出现图片404错误的原因可能有多种,但在vue-cli3项目中常见的错误是因为在引入图片时直接使用了相对路径而导致的。

解决这个问题的方法是使用require语法,在vue组件中通过require引入图片文件,再通过绑定v-bind:src动态绑定图片的路径,即可避免出现404错误。

具体的步骤如下:

  1. 下载并安装file-loader

在项目中使用require语法需要依赖file-loader,并将图片打包成base64格式嵌入到代码中。通过npm安装file-loader:

npm install file-loader --save-dev
  1. 在vue.config.js中配置file-loader

为file-loader配置公共路径publicPath和打包文件的存放路径outputPath。

示例代码:

module.exports = {
  // 公共路径
  publicPath: '/',
  // 打包输出目录
  outputDir: 'dist',
  // file-loader配置
  chainWebpack: config => {
    config.module
      .rule('images')
      .use('url-loader')
      .loader('url-loader')
      .options({
        limit: 10240
      })
  }
}
  1. 在vue组件中使用require引入图片文件

使用require引入图片文件并将其赋值给组件中的变量。

示例代码:

<template>
  <img :src="imgUrl"/>
</template>
<script>
export default {
  data() {
    return {
      imgUrl: require('@/assets/images/11.jpg')
    }
  }
}
</script>

通过上述步骤即可成功避免在vue-cli3项目中出现图片404错误。同时,这种方法也可以在组件中使用动态绑定v-bind:src的方式来动态显示图片。

另外,如果在vue组件中不使用require语法而直接使用相对路径引入图片文件,可以在vue.config.js中为webpack配置alias,将@指定为项目根目录。示例代码:

module.exports = {
  // 公共路径
  publicPath: '/',
  // 打包输出目录
  outputDir: 'dist',
  // webpack别名配置
  configureWebpack: {
    resolve: {
      alias: {
        '@': resolve(__dirname, './src')
      }
    }
  }
}

配置完成后,就可以直接在vue组件中通过相对路径引入图片了。例如:

<template>
  <img :src="require('@/assets/images/11.jpg')"/>
</template>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈在vue-cli3项目中解决动态引入图片img404的问题 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • Vue使用localStorage存储数据的方法

    下面是关于 Vue 使用 localStorage 存储数据的完整攻略: 1、localStorage 简介 localStorage 是一个 HTML5 标准中出现的 Web 存储 API ,它可以允许您在浏览器中存储键值对数据,以便在用户重启浏览器甚至重新启动计算机后仍然可以使用。localStorage 的数据大小一般为 5MB 左右,当然具体大小可能…

    Vue 2023年5月27日
    00
  • 使用vue插件axios传数据的Content-Type及格式问题详解

    使用Vue插件axios传送数据时,我们需要了解有关Content-Type的知识。Content-Type是HTTP头部中的一个域,表示发送数据的媒体类型和字符集。在传送数据时,我们需要根据接受方所期望的Content-Type的类型,构造对应的数据格式来传输数据。 简单来说,如果请求的Content-Type为‘application/json’, 则P…

    Vue 2023年5月28日
    00
  • Vue路由vue-router详细讲解指南

    Vue路由vue-router详细讲解指南 什么是Vue路由 Vue路由(vue-router)是Vue.js官方提供的客户端路由工具,它实现了基于组件的页面切换和参数传递。使用Vue路由可以实现单页应用(SPA,Single Page Application)的路由功能。 Vue路由可以通过切换地址栏中的url路径来加载组件并更新页面内容,同时可以传递参数…

    Vue 2023年5月27日
    00
  • 基于Vue2.X的路由和钩子函数详解

    基于Vue2.X的路由和钩子函数详解 前言 在Vue.js应用程序中,路由用于控制页面的导航和显示,同时路由钩子函数可以执行一些特定的操作,如在路由改变前后进行某些操作。 本文将详解Vue.js的路由和钩子函数的使用方法。 Vue.js路由 安装 Vue Router 我们使用npm进行包的安装。在命令行中输入以下命令: npm install vue-ro…

    Vue 2023年5月28日
    00
  • Vue路由钩子之afterEach beforeEach的区别详解

    Vue路由钩子之afterEach beforeEach的区别详解 在Vue中,路由钩子是非常重要的一部分,他们可以在路由发生变化的时候执行一些动作。Vue提供了两种不同的路由钩子:beforeEach和afterEach。他们两个之间有什么区别呢?下面就详细进行讲解。 beforeEach beforeEach是你可以使用的一种路由钩子。在路由跳转之前,b…

    Vue 2023年5月27日
    00
  • React中props使用教程

    React中props使用教程 在React中,props是组件间通信的主要方式之一。通过props,我们可以将数据从一个组件传递到另一个组件。本教程将详细讲解props的使用方法。 什么是props props(即“properties”,中文翻译为“属性”)是组件中的一种数据传递机制。通过props,我们可以向组件传递数据,就像向函数传递参数一样。pro…

    Vue 2023年5月28日
    00
  • 深入理解vue路由的使用

    深入理解 Vue 路由的使用 Vue 的路由是一个非常重要的特性,可以方便地实现单页面应用(SPA),而不需要页面刷新。本文将介绍如何使用 Vue 路由,包括路由的基本使用、动态路由、嵌套路由和路由钩子函数等内容。 基本用法 首先,你需要安装 vue-router 插件: npm install vue-router 然后,在 Vue 项目中使用路由,需要在…

    Vue 2023年5月27日
    00
  • 解决vue中数据更新视图不更新问题this.$set()方法

    在Vue中,视图会根据组件内数据的变化而自动更新。但有时候我们在操作数据的过程中,因为Vue对于某些类型的数据更新视图不够敏感,而导致视图没有及时更新的问题。解决这个问题的方法是使用Vue的$set()方法。 使用$set()方法 $set()方法是Vue提供的一个全局方法,它可以在Vue实例中动态添加响应式属性。具体用法如下: // 给对象添加响应式属性 …

    Vue 2023年5月29日
    00
合作推广
合作推广
分享本页
返回顶部