NextJS开发:Image组件的使用及缺陷
Next.js 中的 Image 组件相比于传统的 img 标签有以下几个优点:
懒加载:Image 组件自带懒加载,当页面滚动到 Image 组件所在位置时才会加载图片,从而加快页面的渲染速度。自动优化:Image 组件会自动将图片压缩、转换格式、调整大小,以达到更好的性能和用户体验。支持多种图片源:Image 组件支持使用本地文件、远程 URL、云存储等多种方式来加载图片,更加灵活方便。支持响应式图片:Image 组件可以根据不同设备屏幕大小来加载不同分辨率的图片,以达到最佳的视觉效果和性能表现。此外,Image 组件还可以使用 layout 属性来控制图片的布局方式,包括填充、响应式、不变形等多种方式。
总之,Next.js 中的 Image 组件在性能、用户体验、开发效率等方面都优于传统的 img 标签,因此在开发过程中应当优先考虑使用 Image 组件。
<Image src={props.data.thumb}width={800} height={600} alt={""}className=" w-full overflow-hidden rounded-md cursor-pointer mb-3"/>
NextJS中的Image,加载其他域名地址下图片会出现如下错误:
⨯ Error: Invalid src prop (https://images.xxx.com/photo/2023/dd2434067ce2093f77ef0a2b22725913.png) on `next/image`, hostname "images.xxx.com" is not configured under images in your `next.config.js`
See more info: https://nextjs.org/docs/messages/next-image-unconfigured-hostat Array.map (<anonymous>)
解决方法:
next.config.js文件中加入
const nextConfig = {reactStrictMode: true,images: {domains: ['images.xxx.com']}
}
如果你项目中有不确定的任意域名图片的需求,还是用img标签吧,没有找到nextConfig中通配符允许任意域名的配置方式。
使用img标签,npm run build可能会报如下警告
./src/app/(components)/article-row.tsx
18:11 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
18:11 Warning: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images. jsx-a11y/alt-text
改为
<picture><img src={props.data.thumb}/>
</picture>
警告不再出现
相关文章:
NextJS开发:Image组件的使用及缺陷
Next.js 中的 Image 组件相比于传统的 img 标签有以下几个优点: 懒加载:Image 组件自带懒加载,当页面滚动到 Image 组件所在位置时才会加载图片,从而加快页面的渲染速度。自动优化:Image 组件会自动将图片压缩、转换格…...
网络安全面试经历
2023-11-22 X亭安全服务实习生面试 一面: 工作方向:偏蓝队 总结:实习蓝队面试没有什么难度,没有什么技术上的细节问题,之前准备的细节问题没有考 最后和面试官聊了聊对网安的认识,聊了聊二进制的知识…...
Rust语言入门教程(四) - 数据类型
标量类型(Scalar Types) 在Rust中,一共有4中标量类型, 也就是基本数据类型,分别是: 整型(Integers)浮点型(Floats)布尔型(Boolean)字符型(Chara…...
华为云人工智能入门级开发者认证学习笔记
人工智能入门级开发者认证 人工智能定义 定义 人工智能 (Artificial Intelligence) 是研究、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 强人工智能 vs 弱人工智能 强人工智能:强人工智能观点认为有可能制造出真正能推理(…...
腾讯云发布新一代基于AMD处理器的星星海云服务器实例SA5
基础设施的硬实力,愈发成为云厂商的核心竞争力。 11月24日,腾讯云发布了全新一代星星海服务器。基于自研服务器的高密设计与硬件升级,对应云服务器SA5是全球首家搭载第四代AMD EPYC处理器(Bergamo)的公有云实例&#…...
算法通关村-----数论问题解析
最大公约数和最小公倍数 概念描述 最大公约数(GCD)是指两个或多个整数共有约数中的最大值。 最小公倍数(LCM)是指两个或多个整数共有的倍数中的最小值 方法介绍 碾转相除法 一种用于计算两个整数的最大公约数(GCD…...
wpf prism当中 发布订阅 IEventAggregator
先订阅后发布 private readonly IEventAggregator _eventAggregator; public LoginViewModel(ILoginService iloginService, IEventAggregator eventAggregator) {_iloginService iloginService;_eventAggregator eventAggregator;_eventAggregator.GetEvent<MessageEven…...
Angular中的getter函数
Angular 中的 getter 函数每次被调用时会返回一个新对象时,这些新对象并不使用同一个堆内存。详细解释一下: Getter 函数的作用是获取某个属性的值。在 Angular 中,getter 函数通常用于获取响应式数据(例如 Observables 或 Signal…...
Python----函数的数据 拆包(元组和字典)
Python拆包: 就是把元组或字典中的数据单独的拆分出来,然后赋予给其他的变量。 拆包: 对于函数中的多个返回数据, 去掉 元组, 列表 或者字典 直接获取里面数据的过程。 元组的拆包过程 def func():# 经过一系列操作返回一个元组return 100, 200 …...
vim翻页快捷键
Vim翻页 整页 Ctrlf向下翻页,下一页,相当于Page DownCtrlb向上翻页,上一页,相当于Page Up 半页 Ctrld向下半页,下一半页,光标下移Ctrlu向上半页,上衣半页,光标上移 按行 Ctrle…...
死锁是什么?死锁是如何产生的?如何破除死锁?
1. 死锁是什么 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 2. 死锁的三种典型情况 一个线程, 一把锁, 是不可重入锁, 该线程针对这个锁连续加锁两次, 就会出现死锁. 两个线程…...
给虚拟机配置静态id地址
1.令人头大的原因 当连接虚拟机的时候 地址不一会就改变,每次都要重新输入 2.配置虚拟机静态id地址 打开命令窗口执行 : vim /etc/sysconfig/network-scripts/ifcfg-ens33 按下面操作修改 查看自己子网掩码 3.重启网络 命令行输入 systemctl restart netwo…...
Mybatis-Plus 租户使用
Mybatis-Plus 租户使用 文章目录 Mybatis-Plus 租户使用一. 前言1.1 租户存在的意义1.2 租户框架 二. Mybatis-plus 租户2.1 租户处理器2.2 前置准备1. 依赖2. 表及数据准备3. 代码生成器 2.3 使用 三. 深入使用3.1 前言3.2 租户主体设值,取值3.3 部分表全量db操作3…...
vue el-table (固定列+滚动列)【横向滚动条】确定滚动条是在列头还是列尾
效果图: 代码实现: html: <script src"//unpkg.com/vue2/dist/vue.js"></script> <script src"//unpkg.com/element-ui2.15.14/lib/index.js"></script> <div id"app" style&quo…...
⑦【Redis GEO 】Redis常用数据类型:GEO [使用手册]
个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ Redis GEO ⑦Redis GEO 基本操作命令1.geoadd …...
LeetCode 2304. 网格中的最小路径代价:DP
【LetMeFly】2304.网格中的最小路径代价:DP 力扣题目链接:https://leetcode.cn/problems/minimum-path-cost-in-a-grid/ 给你一个下标从 0 开始的整数矩阵 grid ,矩阵大小为 m x n ,由从 0 到 m * n - 1 的不同整数组成。你可以…...
c 实用化的文本终端实时显示摄像头视频
因为采用yuv格式,帧率都很低。图像会拖影。把图像尺寸尽量缩小,能大大改善。现在最麻烦的是图像上有黑色的闪影,不知是为啥?如是framebuffer引起的就无解了。终于找到问题了,是在显示前加了一条用黑色清屏造成的&#…...
CSS中常用的伪类选择器
一 、伪类(不存在的类,特殊的类) -伪类用来描述一个元素的特殊状态 比如:第一个元素,被点击的元素,鼠标移入的元素 -特点:一般请情况下,使用:开头 1、 :first-child …...
【python学习】中级篇-数据库操作:SQLite
SQLite是一个轻量级的数据库引擎,它可以嵌入到各种应用程序中。以下是SQLite的基本用法: 创建数据库文件 import sqlite3# 连接到一个不存在的数据库文件,如果文件不存在,将会自动创建一个新的数据库文件 conn sqlite3.connect…...
汇编-PROTO声明过程
64位汇编 64 模式中,PROTO 伪指令指定程序的外部过程,示例如下: ExitProcess PROTO ;指定外部过程,不需要参数.code main PROCmov ebx, 0FFFFFFFFh mov ecx,0 ;结束程序call ExitProcess ;调用外部过程main ENDP END 32位…...
Oracle学工系统实战:手把手教你用SQLMAP绕过某商业WAF(附垃圾数据包脚本)
Oracle数据库安全实战:WAF绕过技术与SQL注入防御策略 在数字化时代,数据安全已成为企业生存发展的生命线。作为关系型数据库的"老牌贵族",Oracle在企业级应用中占据重要地位,但同时也成为黑客攻击的重点目标。本文将深入…...
GHelper轻量级控制工具:三步解决华硕笔记本性能管理难题
GHelper轻量级控制工具:三步解决华硕笔记本性能管理难题 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, …...
stable_baseline3 快速入门(二): 训练自定义游戏,构建Gymnasium训练环境
简介Gymnasium 为强化学习提供了一个标准化的API,它定义了 Agent 应该如何观察世界、如何做出动作以及如何获得奖励,不管是游戏,还是工业设备,只需要满足Gymnasium标准都能使用同一套代码进行训练。认识Gymnasium使用stable_basel…...
如何用 event.composedPath 获取事件触发经过的所有节点
event.composedPath()用于获取事件在Shadow DOM中的完整传播路径,返回从目标节点到根节点的数组;适用于Web Components中跨Shadow边界精准判断事件来源或委托。event.composedPath() 是一个用于获取事件在 Shadow DOM 中传播路径的方法,它返回…...
告别蓝绿滤镜:用WaterGAN和Python实战,5分钟搞定水下照片色彩还原
水下照片色彩还原实战:5分钟用WaterGAN让蓝绿世界重焕生机 每次潜水归来,看着相机里那些被蓝绿色调吞噬的照片,总有种说不出的遗憾。珊瑚本该是绚丽的橙红,热带鱼身上的花纹应当鲜艳夺目,但在水下摄影中,这…...
Harness 中的自适应批量大小:动态权衡延迟与吞吐
从零到精通Harness自适应批量大小:在持续交付流水线中实现延迟与吞吐的完美动态平衡 副标题:详解Harness.io CD/CI与效率套件中ABS的核心原理、算法实现、配置实践与性能收益第一部分:引言与基础 (Introduction & Foundation) 1. 引人注目…...
【AGI意识觉醒倒计时】:基于217项跨模态意识指标的预测模型显示——2027.03±47天为概率峰值
第一章:AGI意识觉醒倒计时:217项跨模态指标与概率峰值的科学共识 2026奇点智能技术大会(https://ml-summit.org) 跨模态意识评估框架的实证基础 217项指标并非主观枚举,而是基于全球14个顶尖AGI研究团队(含DeepMind、OpenAI Ali…...
2025年英雄联盟国服换肤终极指南:R3nzSkin国服特供版完整使用教程
2025年英雄联盟国服换肤终极指南:R3nzSkin国服特供版完整使用教程 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server R3nzSkin国服特供版是一款…...
微软为什么发明 SqlLocalDB?命令行直接启动,0配置成本
微软为什么发明 SqlLocalDB(2012 首发,Denali 项目原生目标) 1. 前代产品全部无解的历史痛点(核心根源) 在 LocalDB 诞生前,微软桌面本地数据库有三套方案,全部有致命缺陷,开发体验…...
BaiduPCS-Go深度解析:命令行网盘管理实战指南
BaiduPCS-Go深度解析:命令行网盘管理实战指南 【免费下载链接】BaiduPCS-Go iikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能 项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go 还在为百度网盘网页端操作繁琐而烦恼?…...
