vue引入图片报错?VueCli 关于静态资源(图片) 引入问题

VueCLI 引入图片的3种方式(public、assets、require) 在引入的文件中调用require()方法引入对象即可。(可以是任何类型,字符串,变量,对象,方法),在导出的文件中定义,导出的对象的类型不予限定。 阅读详情
AI摘要

本文详细介绍了在Vue-Cli项目中如何处理图片和背景图片的引入问题,包括相对路径和绝对路径的使用。对于动态属性,相对路径需借助require转换为模块,而绝对路径直接引用公共目录下的资源。同时,通过修改vue.config.js的publicPath可解决打包后静态资源路径问题。此外,展示了动态设置背景图片的方法,既可在内联样式中使用require,也可在CSS中直接引用public目录下的资源。

一、关于Vue-Cli图片引入问题?

首先我们要清楚Vue-cli是基于Webpack来进行的打包,其次我们再来看一下Vue-cli的官网是如何给出我们的打包引入图片方式的。
在这里插入图片描述

二、两种引入方式

简单的来说

一种是相对引入方式,一种是绝对引入方式

在这里插入图片描述

  • 相对引入:
 <img src="../assets/logo.png" alt="" /> 
  • 绝对引入:
  <img src="/images/logo.png" alt="" /> <!-- /单杠引入会去找public文件夹 -->

关于相对文件的话我们放到assets中,关于绝对文件的话我们去放到public文件中

此时我们都是采用的正常字符串引入格式,那么一旦我们如果想要写成动态属性呢?

我们可以尝试一下,先来看相对路径

  <img src="../assets/logo.png" alt="" />  <!-- 成功 -->
  <img :src="'../assets/logo.png'" alt="" /> <!-- 失败 -->
  <img :src="'@/assets/logo.png'" alt="" /> <!-- 失败 -->
  <img :src="relative" alt=""> <!-- 失败 -->

在这里插入图片描述

我们可以看到如果我们将属性直接设置成了动态的话,那么这时,我们的图片将不会在起作用
在这里插入图片描述
首先原因是什么呢?
我们使用: 动态属性,而此时的webpack里面带的插件就不会再去处理、解析当前这个图片img

其次我们可以看一下绝对路径

  <img src="/images/go.jpg" alt=""> <!-- 成功 -->
  <img :src="'/images/go.jpg'" alt=""> <!-- 成功 -->
  <img :src="url" alt=""> <!-- 成功 -->
  <img :src="absolute" alt=""> <!-- 成功 -->

在这里插入图片描述
在这里插入图片描述
此时几种写法全部都可以实现效果
简单的概括来说 任何放置在 public 文件夹的静态资源都会被简单的复制,而不经过 webpack,那么不经过webpack的话使用绝对路径那么肯定在项目打包之后是可以找到的,但是此时我们需要考虑一个问题如果我们打包后的文件并没有放置在对应的/目录下的话,需要怎么处理呢?

我们只需要更改vue.config.js中的publicPath即可
在这里插入图片描述
当然不要忘记的是 同时我们在引入文件时就不能单单只写/了,需要将静态路径写全。

三、相对路径动态时如何使用?

很简单,我们只需使用require进行引入即可,那么require的目的是什么呢?其实就是将图片转换成一个模块,我们需要知道的是,如果图片动态了,那么webpack就不会再去打包这个图片了,那么我们其实可以手动的将其转换成一个模块,这样webpack就可以解析认识了。
在这里插入图片描述
其实我们可以看到最终webpack识别的也同样是require的这样一个写法。

   <img :src="require('@/assets/logo.png')" alt="" /> <!-- 成功 -->

在这里插入图片描述

四、背景图片background-image如何渲染?

写在标签 style 中,相对路径(当然我们也可以写绝对路径)

<div class="body1" :style="'background-image:'+'url('+require('../assets/logo.png')+')'">

在这里插入图片描述
写在css样式中,绝对路径(我们就需要将文件放置在public中了)
在这里插入图片描述

解决vuejs项目里css引用背景图片不能显示的问题 解决:build->utils.js里,修改:增加 publicPath:'../../', if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, publicPath:'../../', fallback: 'vue-style-loader' }) } else { return ['vue-style-loader'].concat(loaders) } 以上这篇解决vuejs项目里css引用背景图片不能显示的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也 立即下载

相关推荐

LinuxCNC 源码解析:从界面开发到硬件交互的实战指南

本文深入解析LinuxCNC源码架构,从用户界面开发到硬件交互的实战指南。涵盖GTK与Tkinter界面开发、HAL硬件抽象层、G代码解析器改造及运动控制核心等关键模块,提供定制化开发技巧与性能优化方案,助力开发者高效掌握数控系统开发。

weixin_27066963的博客 190

vue 中image引入图片或者svg失败

1.引入图片失败 可以通过import导入 然后将它变成data中的数据,再在img中绑定 <template> <img :src="imgUrl" alt="" class="login-image" /> </template> import img from '../../assets/images/login/base_copy.png'; <script> export default { data(){ return { img

weixin_50639469的博客 2095

FT2232HL JTAG下载器硬件设计指南:从引脚配置到电平转换实战

本文详细解析了FT2232HL JTAG下载器的硬件设计要点,包括引脚配置、电平转换电路设计及EEPROM配置技巧。通过实战案例展示如何利用FT2232HL实现高速JTAG通信,解决电平不匹配等常见问题,提升嵌入式开发效率。特别适合需要灵活JTAG接口的硬件工程师参考。

weixin_29194693的博客 257

vue2在img的src无法引入图片,问题已解决

在地址前将"./src"改成"@"即可。

qq_51283497的博客 418

Workbuddy+DeepSeek V4傻瓜流配置全指南:API接入、模型切换与Agent实战

AI编程助手的核心价值不在于模型本身,而在于如何稳定、安全、低门槛地调用其能力。Agent作为智能体范式,依赖可靠的运行时环境与标准化API通信;DeepSeek V4系列凭借高吞吐、低延迟和强工具调用支持,成为当前生产级Agent的理想引擎。Workbuddy则通过本地配置管理、环境变量注入与UTF-8无BOM容错等工程设计,将复杂部署简化为可复现、可版本化、可团队协同的实践流程。本文聚焦API接入路径下的真实卡点——从Key获取验证、models.json字段语义到沙箱权限控制,覆盖开发者在Window

weixin_33702545的博客 2383

android OTA升级之后,apk崩溃无法启动

也就是说,我们这个高低版本是fingerprint相同的情况,这个问题追述到jenkins编译,启动job时会初始化一个BUILD_NUMBER值,这个值正好跟Android的build系统的名称重复,这就导致Android build系统那一套拼接时间戳的值不会走,因为jenkins一启动就会定义该值,而我们jenkins服务器迁移过,这个值又会从1开始累计,导致前后版本都是16,从而导致fingerprint一致。问题背景:系统版本从低版本升级到高版本后,apk崩溃启动失败。硬件平台:QCS6125。

kevin's cache的专栏 1347

图片资源导入方式

一、图片资源导入方式 放置在src目录下的图片资源有三种导入方式: 1、src的相对路径和@写法, 2、import写法 3、require写法 对于一张图片而言,我可以直接src引入相对路径,我还可以使用模块化的方式引入,无论是require,还是import都可以。 但这里记住,在模板中,背景图不可以使用相对路径直接引入,只能通过模块化方式引入,常见手法: <template> <div> <img src="../assets/img.jpg" a

zhongjiezhe169的博客 2234

jane street market prediction 冠军方案 奇巧淫技与topline链接整理(3/3)

目录前言将income 作为loss(优化目标)读取数据,定义优化目标模型训练与微调提交结果多目标学习Topline整理AE+MLP (rank10)Current 17th solution: Ensembles of deep (49 layer) MLPsmixup augmentation: a way to learn from trades with weight=0 (rank4)My (perhaps) over-complicated LSTM solutionCurrent 62nd .

weixin_51484067的博客 2640

vue3知识点5.3 vuecli4.5项目静态资源(引入图片、js,css,jquery,bootstrap)

vuecli3引入静态资源的方法。图片,css,js.

yangyangdt的博客 5673

FastGPT智能体开发:FastGPT OpenAPI 知识库接口

FastGPT OpenAPI 知识库接口

王国平的博客 323

手把手教你在openclaw中白嫖英伟达羊毛调用GLM5/Minimax2.1/Kimi K 2.5等模型

本文介绍如何在OpenClaw中免费调用英伟达平台的GLM5、Minimax2.1和Kimi K2.5等模型。通过在openclaw.json配置文件中添加NVIDIA的API信息,设置免费模型参数(如contextWindow和maxTokens),并执行简单命令即可切换默认模型。该方法可节省token消耗成本,最后需重启gateway使配置生效。文中还提供了使用其他API平台时的配置模板。

Science prince的博客 5103

VueCli项目图片引入报错?5种常见场景及解决方案全解析

本文深入解析VueCli项目中图片引入报错的5种常见场景及解决方案,涵盖动态绑定失效、背景图不渲染、打包后路径错误等核心问题。通过剖析Webpack打包机制与静态资源处理逻辑,提供从路径别名、publicPath配置到public文件夹正确使用的完整指南,帮助开发者彻底解决Vue图片引入报错难题。

weixin_28040125的博客 228

3D 韩系风格漫剧人设 | GPT-Image2 人设生成【附完整提示词】

宁姚同款清冷剑系美人,极致小巧鹅蛋脸,下颌线紧致纤细流畅,下巴小巧精致收窄,小脸衬得五官格外舒展,韩式水光肌,面部精细水光高光,鼻梁高光、鼻尖高光、面中苹果肌高光、唇珠高光,红棕色长卷发偏分大波浪,垂在一侧肩前,发量蓬松。发量丰厚蓬松有体积感,不贴头皮,几缕碎发自然垂落脸侧修饰脸型,长度过胸及背,发丝柔顺丝滑卷度自然,发尾自然垂落,身穿香槟色缎面挂脖长裙,挂脖设计无袖露肩露背,上半身围裹式荡领胸口垂褶,腰部堆褶收腰,修身直筒包臀裙长度到脚踝,缎面光泽感强垂坠感好,极简剪裁。纯白色背景,3D漫剧写实厚涂风。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 137

VueCli静态资源路径优化:解决图片加载与打包部署的常见陷阱

本文深入解析VueCli项目中静态资源(尤其是图片)在打包部署后加载失败的常见问题。核心在于理解VueCli基于Webpack的路径处理机制,并正确配置publicPath。文章对比了assets与public两种资源引入方式的优劣及适用场景,提供了针对根目录、子路径及CDN等不同部署环境的完整解决方案,并分享了环境变量配置、路径别名等进阶技巧与实用排查指南,帮助开发者彻底规避图片加载陷阱。

grape的博客 640

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

解决项目迁移vite引入图片资源报require is not defined的问题

简单介绍了Vite在生产构建时对图片资源的引入方法,并且介绍了Vite插件的基本用法

前端咸鱼翻身的博客 9421

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

vue样式 引入图片_vue-cli脚手架引入图片的几种方法总结

我个人常用的方法,一直在摸索更好的方法,如果各位大佬有什么建议,可以给我评论留言哦1、import方法第一步:在.vue文件中import edit from 'path'(path是图片与.vue的相对路径)第二步:在data对象中定义一个属性edits,值对应edit第三步:在template中 给标签绑定属性最后刷新界面看效果就可以了!2、static方法第一步:图片放在static文件夹,...

weixin_35519039的博客 790

【前端】vue打包npm run build报错问题

例如:随着人工智能的不断发展,越来越多的人开始学习前端语言,本文主要介绍了vue打包的过程及报错排查思路。

weixin_43366051的博客 833

vuecli2.x升级到vuecli4.x,vue项目搬迁

前言 项目之前是vue2.x+vuecli2.9版本的脚手架进行搭建的,因为项目越来越庞大,实现动态路由懒加载时打包会卡死,需打包将近半个小时,所以考虑升级vuecli,提高打包速度。 一、vuecli2升级到vuecli4 1.卸载旧版本安装新版本 打开终端输入命令行检查当前版本:vue -V(是大写V,不是小写) 卸载旧版本:npm uninstall -g vue-cli 或cnpm uninstall -g vue-cli 安装新版本:npm install -g @vue/cli 或cnpm i

dhlg123的博客 1977

vue3 HTML 和静态资源

文件是一个会被处理的模板。在构建过程中,资源链接会被自动注入。另外,Vue CLI 也会自动注入 resource hint (、manifest 和图标链接 (当用到 PWA 插件时)) 以及构建过程中处理的 JavaScript 和 CSS 文件的资源链接在 JavaScript 被导入或在 template/CSS 中通过相对路径被引用。这类引用会被 webpack 处理。放置在public目录下或通过绝对路径被引用。这类资源将会直接被拷贝,而不会经过 webpack 的处理。从相对路径导入。

徐本锡的专栏 3万+

Vue-Cli2.XX 静态资源文件夹的路径部署问题

直接进入正题,这里我们讨论的是vuecili3以前的版本: 一般我们用vuecli3之前的版本创建项目的时候,根目录下会有一个static文件夹,这个文件夹是用来放置images和json等静态文件的,同样的在根目录下的src下还有一个assets文件夹放置静态文件的,区别是assets里面的静态资源会被webpack打包编译,而static下面的静态资源仅仅会被在打包编译的时候赋值到dist文...

weixin_43209953的博客 6712

vue JS 引用图片

VUE CLI中,静态资源可以通过两种方式进行处理:Vue Cli 文档 1.在 JavaScript 被导入或在 template/CSS 中通过相对路径被引用。这类引用会被 webpack 处理。 <img src="...">,background: url(...) 和 CSS @import 的资源 URL 都会被解析为一个模块依赖。 如url(./image.png) 会被翻译为 require(’./image.png’) <img src="./image.png"&gt

Tiny2017的博客 588

vue-cli 4.0 打包后图片报错

vue-cli 4.0 打包后图片报错BUGvue 项目完成后,在本地运行静态资源加载无异常,打包到服务器后,报错404,提示图片加载失败分析比较可知,打包后,我的图片地址中少了`/syt/dist`解决解决问题的关键在 `publicPath: '/syt/dist/'` 这句代码小结 BUG vue 项目完成后,在本地运行静态资源加载无异常,打包到服务器后,报错404,提示图片加载失败 分析 已确定(对比后端静态资源目录结构): 图片请求地址错误(地址对应的地方无图片) 我的(错误)地址:ht

mygoes 984

vue-cli 打包之后图片引用路径问题

过完五一,感觉整个人跟废了一样,虽然五一期间也没做什么,就是感觉累,感觉困。但无奈今天还有一堆事情等我去做。 早上来先发了一版v5.0.1,开启项目新版的第一次!但是毫无疑问,出了很多问题,除了上次打包后js、css路径错误问题(详情请见:https://blog.csdn.net/AmberWu/article/details/79529363),这次出现了图片undefined的问题。 ...

AmberWu 4938

img使用 :src 动态绑定图片地址,图片不成功

此时图片没有出现,控制台报错 http://localhost:8080/assets/animals1.jpeg 404 (Not Found)使用vue cli 创建的vue2项目,项目中想实现轮播效果。使用require引入图片,完整代码如下,此时图片引入成功。使用 :src 动态绑定图片地址,图片没有出现。此时控制台中出现的图片地址是。

m0_67880202的博客 1290

vue.cli3.0配置打包之静态资源路径

--vueProject --public静态文件 --images图片

aGreetSmile的博客 1013

vue-Cli3,Vue-Cli4打包后如何配置静态资源路径?(自定义浏览器icon图标,title文本)

文章目录为什么要配置静态资源路径?1、首先我们要清楚什么样的环境下我们需要配置静态资源路径?2、如何配置? 为什么要配置静态资源路径? 1、首先我们要清楚什么样的环境下我们需要配置静态资源路径? 那肯定是不是单纯的一个前端写的单页面应用的时候,我们仔细想想,如果我们开发了一个新模块,但是不是基于原来项目开发的,而实更换了一个路径?不不不,只是说新起了一个子路径,相当于二级路径,那么这个时候我们还能用原来的默认的配置去寻找接口地址,静态资源地址吗? 当然这样肯定是行不通的,所以说我们需要配置一下你当前这个模块

韩旭的博客 3441
上一篇: 前端如何封装一个组件?怎么造轮子?手写js封装一个dialog弹窗组件。
下一篇: JS 原生事件绑定,Vue路由变换,事件再次绑定,导致事件绑定两次,无法销毁给单个节点绑定的scroll事件。
归来巨星
归来巨星 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄7年 5391粉丝 95原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归来巨星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值