浅谈在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+ESLint 配置保存 自动格式化代码

    这里为您详细讲解基于vue和ESLint开发的代码格式化和保存配置攻略,并提供两个使用示例。 1. 安装插件和配置ESLint 首先,我们需要在项目中安装vue-cli-plugin-eslint插件,可以使用如下命令进行安装: vue add eslint 接下来,在项目根目录中的.eslintrc.js文件中配置ESLint的规则,比如我们可以使用标准的…

    Vue 2023年5月27日
    00
  • 详解基于Vue cli生成的Vue项目的webpack4升级

    下面我将详细讲解“详解基于Vue CLI生成的Vue项目的webpack4升级”的完整攻略,包括具体步骤和示例说明。 1. 升级准备 1.1. 确认Vue CLI版本 首先需要确认当前使用的Vue CLI版本是否是3.x版本。如果不是3.x,需要先进行升级。可以通过以下命令检查版本: vue –version 如果版本低于3.x,可以通过以下命令进行升级:…

    Vue 2023年5月28日
    00
  • Vue.js中的绑定样式实现

    Vue.js是一个流行的JavaScript框架,其中动态绑定样式是一个常见的需求。本文将为您介绍Vue.js中如何使用样式绑定。 1. 绑定内联样式 Vue.js中提供了非常简单的方法来绑定内联样式。只需要在元素上使用:style关键字,然后将需要绑定的样式以JavaScript对象的形式传递即可。 示例代码如下: <div :style=&quot…

    Vue 2023年5月27日
    00
  • 自定义Vue组件打包、发布到npm及使用教程

    下面是详细的“自定义Vue组件打包、发布到npm及使用教程”的完整攻略: 一、前置准备 在开始之前,你需要确保以下几点已经完成: 已安装 Node.js 已安装 Vue CLI 已注册 NPM 账号并登录 二、创建 Vue 组件 创建 Vue 项目 首先,我们需要使用 Vue CLI 快速创建一个 Vue 项目。在命令行中运行以下命令: vue create…

    Vue 2023年5月28日
    00
  • Pinia入门学习之实现简单的用户状态管理

    首先,我们需要了解什么是Pinia。Pinia是一款为Vue 3提供状态管理的插件,它是基于Vue 3 Reactivity API协议实现的,提供了强大的响应式状态管理功能,使得在Vue 3项目开发中可以更方便地进行状态管理。 下面,我们来详细讲解如何使用Pinia来实现简单的用户状态管理。步骤如下: 1. 安装Pinia 在Vue 3项目中,首先需要安装…

    Vue 2023年5月28日
    00
  • 结合康熙选秀讲解vue虚拟列表实现

    针对您提出的问题,我将对“结合康熙选秀讲解vue虚拟列表实现”的攻略进行详细解答。 首先,需要明确的是,vue虚拟列表是通过限定渲染范围,来达到渲染大量数据的优化方式。这里的渲染范围指的是视口,即用户实际看到的部分。 下面是“结合康熙选秀讲解vue虚拟列表实现”的完整攻略: 1. 实现原理 使用虚拟列表的核心思想是只渲染可见区域的数据项,对于未显示的部分只需…

    Vue 2023年5月29日
    00
  • vue-element-admin项目导入和导出的实现

    下面我将详细讲解 “vue-element-admin项目导入和导出的实现” 的完整攻略,包括具体的过程和示例说明。 1. 导出实现 1.1 安装引入文件 首先,在项目中引入 FileSaver.js 和 XLSX.js 两个文件,它们分别用于文件保存和 Excel 文件处理。 在终端中输入以下命令: npm install file-saver xlsx …

    Vue 2023年5月27日
    00
  • JS基于递归实现倒计时效果的方法

    当我们需要倒计时的效果时,JS基于递归实现倒计时就是一种很不错的方案了。接下来我将为大家讲解如何使用JS实现基于递归的倒计时效果。 步骤一:准备样式 通过CSS设置我们的倒计时样式,使页面表现更加美观。这里我们假设我们的倒计时样式类名为 countdown。 .countdown { font-size: 24px; color: #666; } 步骤二:编…

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