日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

教你如何玩轉Next Image

來源: 責編: 時間:2024-04-09 17:22:11 269觀看
導讀如果你用過Next.js,那么很可能邂逅過Next Image組件。此圖像優化解決方案不僅支持webp和avif等現代格式,還可以針對不同屏幕尺寸生成量身定制的多個版本。要想獲得這種魔力,只需將以下代碼添加到頁面:import Image from '

如果你用過Next.js,那么很可能邂逅過Next Image組件。此圖像優化解決方案不僅支持webp和avif等現代格式,還可以針對不同屏幕尺寸生成量身定制的多個版本。iTE28資訊網——每日最新資訊28at.com

要想獲得這種魔力,只需將以下代碼添加到頁面:iTE28資訊網——每日最新資訊28at.com

import Image from 'next/image';export default function Page() {  return (    <Image      src="/profile.png"      width={500}      height={500}      alt="Picture of the author"    />  );}

不過,就像其他任何魔法一樣,只有打好堅實的基礎,才能熟練的運用自如。iTE28資訊網——每日最新資訊28at.com

在本文中,我們將探討Next Image的工作原理,并澄清一些常見誤解。iTE28資訊網——每日最新資訊28at.com

核心架構

next/image的底層架構主要由三個組件組成:iTE28資訊網——每日最新資訊28at.com

  • React Next Image組件
  • Image API
  • Image優化器

生成的URL如下:iTE28資訊網——每日最新資訊28at.com

/_next/image?url=/images/example.jpg&w=640&q=75

這樣編碼的URL接受兩個參數:w(寬度)和q(質量)。我們發現沒有h(高度)屬性,這個我們稍后討論。iTE28資訊網——每日最新資訊28at.com

Image API

Next Image API用作圖像代理,類似于IPX。它執行以下任務:iTE28資訊網——每日最新資訊28at.com

  • 接受圖像URL、寬度和質量
  • 驗證參數
  • 確定緩存控制策略
  • 處理圖像
  • 以用戶瀏覽器支持的格式提供圖像

Image優化器

Next Image根據特定條件使用不同的圖像優化庫:Sharp或Squoosh。iTE28資訊網——每日最新資訊28at.com

Sharp是一個快速高效的圖像優化node.js模塊,利用原生的libvips庫。iTE28資訊網——每日最新資訊28at.com

Squoosh是一個完全基于節點的圖像優化解決方案。有點慢,但不需要在計算機上安裝任何其他庫。iTE28資訊網——每日最新資訊28at.com

因此,一般Sharp用于生產環境,而在本地環境中默認使用Squoosh。iTE28資訊網——每日最新資訊28at.com

p.s.我建議在本地環境中也使用Sharp。雖然Sharp和Squoosh優化圖像的方式非常相似,但與Squoosh相比,Sharp的壓縮算法會導致顏色下降。這可能會導致生產環境和本地環境之間視覺行為的差異,尤其是在嘗試將圖像的背景顏色與頁面背景匹配時。iTE28資訊網——每日最新資訊28at.com

結果

了解了next/image背后的主要架構后,讓我們一起辨別一些常見的誤解,以便更有效地利用它。iTE28資訊網——每日最新資訊28at.com

next/image不裁剪

開發人員中有個常見的誤解是next/image可以裁剪圖像。之所以會出現這種混淆,是因為寬度、高度和填充屬性可以傳遞給組件,從而給人一種圖像已被裁剪的印象。iTE28資訊網——每日最新資訊28at.com

實際上,情況并非如此。iTE28資訊網——每日最新資訊28at.com

Next Image組件主要將寬度和高度用來分配給img標記,以防止布局偏移。iTE28資訊網——每日最新資訊28at.com

iTE28資訊網——每日最新資訊28at.com

為什么呢?iTE28資訊網——每日最新資訊28at.com

iTE28資訊網——每日最新資訊28at.com

對本地映像使用導入

對于next/image,有兩種方法可用于加載本地圖像:iTE28資訊網——每日最新資訊28at.com

import Image from 'next/image';import profileImg from './profile.jpg';export default function Page() {  return (    <>      {/* Using absolute path */}      <Image src="/profile.png" width={500} height={500} alt="Picture of the author" />      {/* Using imported image via relative path */}      <Image src={profileImg} alt="Picture of the author" />    </>  );}

在處理示例、教程甚至開源項目中的本地圖像時,使用絕對路徑很普遍。iTE28資訊網——每日最新資訊28at.com

可以看到,除了自動寬度/高度分配之外沒有顯著差異。iTE28資訊網——每日最新資訊28at.com

但是,有區別。iTE28資訊網——每日最新資訊28at.com

當你通過絕對路徑從公用文件夾訪問圖像時,Next.js遵循目標服務器的緩存策略,默認情況下,是30天的緩存策略而不是public,max-age=31536000,immutable。iTE28資訊網——每日最新資訊28at.com

對圖像資源使用30天緩存策略會顯著降低Lighthouse分數。iTE28資訊網——每日最新資訊28at.com

了解sizes和100vw技術

next/image組件接受sizes屬性,類似于html img sizes屬性。iTE28資訊網——每日最新資訊28at.com

但是,它也執行一些獨特的操作。iTE28資訊網——每日最新資訊28at.com

sizes屬性與srcset協同工作,接受應激活的瀏覽器條件和圖像寬度列表。iTE28資訊網——每日最新資訊28at.com

以下是圖片使用sizes的示例:iTE28資訊網——每日最新資訊28at.com

<img srcset="/img/html/vangogh-sm.jpg 120w,             /img/html/vangogh.jpg 193w,             /img/html/vangogh-lg.jpg 278w"     sizes="(max-width: 710px) 120px,            (max-width: 991px) 193px,            278px">

讓我們深入了解細節以便理解得更透徹。當你使用Next Image而不指定sizes屬性時,srcset將包含兩個URL:一個用于標準版本(x1),另一個用于Retina版本(x2)。iTE28資訊網——每日最新資訊28at.com

通過這樣的設置,在Retina設備上使用時,瀏覽器將始終選擇Retina版本。這種偏好是由于在srcset中使用了1x和2x語法而產生的。iTE28資訊網——每日最新資訊28at.com

<img  srcset="    /_next/image?url=%2Fimages%2Fexample.jpg&w=640&q=75  1x,    /_next/image?url=%2Fimages%2Fexample.jpg&w=1080&q=75 2x  "/>

瀏覽器將其解釋為:加載這個URL為2x像素密度,另一個URL為1x像素密度。iTE28資訊網——每日最新資訊28at.com

因此,如果桌面上的圖像版本小于移動設備或平板電腦上的圖像版本,則瀏覽器將始終使用默認的Next Image語法加載較大的版本。iTE28資訊網——每日最新資訊28at.com

然而,不幸的是,這可能會導致性能欠佳并降低Lighthouse分數。iTE28資訊網——每日最新資訊28at.com

但是,有一種方法可以指示瀏覽器根據合適的寬度加載圖像。不是向srcset URL提供1x、2x參數,而是指定圖像的寬度。iTE28資訊網——每日最新資訊28at.com

例如,瀏覽器中如果有以下說明:iTE28資訊網——每日最新資訊28at.com

<img  srcset="    /_next/image?url=%2Fimages%2Fexample.jpg&w=640&q=75   640w,    /_next/image?url=%2Fimages%2Fexample.jpg&w=1080&q=75 1080w  "/>

在這種情況下,瀏覽器會為頁面上使用的當前尺寸選擇最合適的圖像。iTE28資訊網——每日最新資訊28at.com

如果移動圖片的寬度為600px(Retina為1200px),則將選擇1080w版本。iTE28資訊網——每日最新資訊28at.com

同時,如果桌面圖像僅使用300px(Retina為600px),瀏覽器會選擇 640w。iTE28資訊網——每日最新資訊28at.com

此方法的優點在于加載最適合當前屏幕尺寸的圖像,通過減小圖像大小來提高性能。iTE28資訊網——每日最新資訊28at.com

下面讓我們使用100vw技巧將此策略應用于Next Image。iTE28資訊網——每日最新資訊28at.com

雖然你不能直接指示Next Image在URL附近使用width(w)參數而非像素密度(1x)選項,但可以應用從Next Image的編碼方式生成的解決方法:iTE28資訊網——每日最新資訊28at.com

  1. 如果sizes屬性包含vw數字,則只會使這些尺寸大于最小deviceSize(默認為640)乘以百分比(100vw = 1,50vw = 0.5)。例如指定100vw,最終將得到8個URL。
  2. 如果sizes屬性包含非vw數字,則srcset將包含所有大小(即deviceSizes和imageSizes的所有可能組合),總共產生16個URL。

為了說明這一點,一起來看看100vw生成的代碼:iTE28資訊網——每日最新資訊28at.com

<img  sizes="100vw"  srcset="    /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fexample.6be618a3.jpg&w=640&q=75   640w,    /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fexample.6be618a3.jpg&w=750&q=75   750w,    /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fexample.6be618a3.jpg&w=828&q=75   828w,    /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fexample.6be618a3.jpg&w=1080&q=75 1080w,    /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fexample.6be618a3.jpg&w=1200&q=75 1200w,    /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fexample.6be618a3.jpg&w=1920&q=75 1920w,    /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fexample.6be618a3.jpg&w=2048&q=75 2048w,    /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fexample.6be618a3.jpg&w=3840&q=75 3840w  "  src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fexample.6be618a3.jpg&w=3840&q=75"/>

如果sizes中包含px值(例如(max-width: 1024px) 800px, 300px),則URL列表進一步擴展,達到默認配置16。iTE28資訊網——每日最新資訊28at.com

理想情況下,我更愿意為特定圖像生成4個URL,類似于其他框架,而不是使用許多不必要的選項來膨脹HTML,且這些選項中可能沒有一個適合我的需求。iTE28資訊網——每日最新資訊28at.com

關鍵點:要用更多版本填充srcset以獲得在各種分辨率下更好的性能,你可以簡單地將sizes設置為100vw。iTE28資訊網——每日最新資訊28at.com

此技巧強制創建8個不同尺寸——從640px開始的URL。iTE28資訊網——每日最新資訊28at.com

但是,由于此方法很容易增大HTML大小 - 特別是如果添加了額外的imageSizes或deviceSizes的話,因此慎用此方法。iTE28資訊網——每日最新資訊28at.com

我個人認為對于需要在許多不同地方使用具有不同圖像比例的大型項目,這種生成平均大小版本的方法很多時候是有益的。iTE28資訊網——每日最新資訊28at.com

這些版本可以滿足大多數方案,更頻繁地訪問緩存,同時保持易用性。iTE28資訊網——每日最新資訊28at.com

結論

Next Image簡化了圖像管理并有著顯著優勢,它提供類似于第三方解決方案的高級裁剪和精確調整大小等附加功能。iTE28資訊網——每日最新資訊28at.com

同時有專門的組件可進行微調。iTE28資訊網——每日最新資訊28at.com

我特別喜歡它的自動化方法——生成0.25x、0.5x、1x和2x寬度的四個圖像版本。iTE28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-82364-0.html教你如何玩轉Next Image

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 六款較流行的開源漏洞掃描工具推薦及特點分析

下一篇: Dart 中 JS 互操作的歷史,你知道嗎?

標簽:
  • 熱門焦點
  • 5月安卓手機好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • 容量越大越不壞?24萬塊硬盤故障率報告公布 這些產品零故障

    8月5日消息,云存儲服務商Backblaze發布了最新的硬盤故障率報告,年故障率有所上升。Backblaze發布的硬盤季度統計數據,其中包括故障率等重要方面。這些結
  • 印度登月最關鍵一步!月船三號今晚進入環月軌道

    8月5日消息,據印度官方消息,月船三號將于北京時間今晚21時30分左右開始近月制動進入環月軌道。這是該探測器能夠成功的最關鍵步驟之一,如果成功將開始圍
  • 分享六款相見恨晚的PPT模版網站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS網站旨在為全球Office用戶提供豐富的高品質原創PPT模板、實用文檔、數據圖表及個性化定制服務。優點:OfficePLUS是微軟官方網站,囊括PPT模板、Word模
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大&ldquo;烤&rdquo;之下的除了眾生,還有各大企業發布的ESG報告。ESG是&ldquo;環境保
  • 年輕人的“職場羞恥感”,無處不在

    作者:馮曉亭 陶 淘 李 欣 張 琳 馬舒葉來源:燃次元&ldquo;人在職場,應該選擇什么樣的著裝?&rdquo;近日,在網絡上,一個與著裝相關的帖子引發關注,在該帖子里,一位在高級寫字樓亞洲金
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • 三星折疊屏手機去年銷售近1000萬臺 今年目標定為1500萬

    7月29日消息,三星率先發力可折疊手機市場,在全球市場已經取得了非常亮眼的成績,接下來會進一步鞏固和擴大這一優勢。三星在推出Galaxy Z Flip5和Galax
  • 2299元起!iQOO Pad開啟預售:性能最強天璣平板

    5月23日,iQOO如期舉行了新品發布會,除了首發安卓最強旗艦處理器的iQOO Neo8系列新機外,還在發布會上推出了旗下首款平板電腦——iQOO Pad,其搭載了天璣
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
99精品久久免费看蜜臀剧情介绍| 狠狠色狠狠色综合日日tαg| 欧美jizz19hd性欧美| 欧美成人免费全部| 欧美日韩二区三区| 国产精品免费观看在线| 国外成人免费视频| 亚洲精品国产精品国自产在线| 欧美经典一区二区三区| 欧美日韩国产91| 国产精品夜色7777狼人| 精品成人在线观看| 99pao成人国产永久免费视频| 亚洲综合国产激情另类一区| 久久精品99无色码中文字幕| 欧美96在线丨欧| 国产精品乱码妇女bbbb| 亚洲第一页自拍| 亚洲一级在线观看| 久久性天堂网| 国产精品九九| 精品白丝av| 亚洲无亚洲人成网站77777| 久久久久天天天天| 欧美日韩亚洲国产一区| 国内精品免费在线观看| 一区二区三区视频在线看| 久久久五月天| 国产精品久久久久天堂| 亚洲国内欧美| 久久大逼视频| 欧美午夜免费电影| 亚洲第一福利在线观看| 亚洲欧美韩国| 欧美日本亚洲视频| 极品尤物av久久免费看| 亚洲无亚洲人成网站77777| 免费不卡视频| 国产区亚洲区欧美区| 亚洲精品免费一二三区| 久久精品亚洲一区| 欧美视频精品在线| 亚洲电影一级黄| 欧美一区二区三区免费大片| 欧美日韩精品欧美日韩精品一| 黄色工厂这里只有精品| 香蕉亚洲视频| 国产精品大片wwwwww| 亚洲国产日韩欧美| 久久久综合网| 国产日韩亚洲| 亚洲欧美韩国| 国产精品国产亚洲精品看不卡15| 亚洲日本在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品影院在线观看| 蜜桃av综合| 国产综合色在线视频区| 亚洲网站视频福利| 欧美日韩精选| 亚洲毛片在线| 欧美大片一区二区| 亚洲黄色在线观看| 你懂的国产精品永久在线| 伊人成综合网伊人222| 久久久久国产精品午夜一区| 国产欧美va欧美va香蕉在| 亚洲一区二区三区在线观看视频 | …久久精品99久久香蕉国产| 久久精品国产亚洲一区二区三区| 国产精品色婷婷| 亚洲特黄一级片| 欧美午夜无遮挡| 亚洲视频免费在线| 欧美视频日韩| 一本大道av伊人久久综合| 欧美国产丝袜视频| 国产精品国产精品| 一级日韩一区在线观看| 亚洲特级片在线| 欧美日韩国产美女| 日韩视频一区二区三区在线播放| 欧美丰满高潮xxxx喷水动漫| 亚洲第一黄网| 欧美承认网站| 亚洲免费观看在线视频| 欧美精品在线观看播放| 一本不卡影院| 国产精品乱码一区二三区小蝌蚪| 亚洲欧美国产高清| 国产日韩欧美黄色| 久久久国产精品一区| 伊人久久大香线蕉av超碰演员| 久久中文字幕一区| 最新国产精品拍自在线播放| 欧美精品日韩一区| 在线天堂一区av电影| 国产精品久久久久影院亚瑟| 午夜亚洲激情| 狠狠色噜噜狠狠狠狠色吗综合| 久久中文在线| 亚洲精一区二区三区| 欧美视频日韩视频在线观看| 亚洲综合激情| 国产综合自拍| 欧美大秀在线观看| 一区二区电影免费在线观看| 欧美午夜www高清视频| 午夜久久久久久| 又紧又大又爽精品一区二区| 欧美激情第六页| 亚洲在线日韩| 黑人巨大精品欧美黑白配亚洲| 裸体歌舞表演一区二区| 亚洲狼人综合| 国产精品日韩久久久久| 久久久久久久精| 亚洲精品一区中文| 国产精品色网| 开元免费观看欧美电视剧网站| 99亚洲视频| 国产亚洲欧美日韩一区二区| 欧美成人精品在线播放| 亚洲婷婷综合久久一本伊一区| 国产视频在线一区二区| 欧美77777| 亚洲综合视频1区| 在线欧美福利| 欧美性色aⅴ视频一区日韩精品| 欧美综合国产精品久久丁香| 最新成人av网站| 国产精品综合网站| 欧美国产精品va在线观看| 中日韩美女免费视频网址在线观看| 国产一区二区三区自拍| 欧美另类专区| 久久国内精品视频| 一本色道久久综合亚洲精品不卡| 国产一区二区三区黄视频| 欧美精品久久99| 欧美伊人精品成人久久综合97| 亚洲区一区二区三区| 国产三区精品| 欧美日韩视频在线一区二区观看视频 | 欧美尤物巨大精品爽| 亚洲三级免费观看| 国产一区二区三区高清| 欧美日韩免费视频| 久久尤物视频| 亚洲欧美欧美一区二区三区| 亚洲欧洲另类国产综合| 国产一区二区高清视频| 欧美午夜www高清视频| 欧美a级大片| 久久福利视频导航| 亚洲图片欧洲图片av| 亚洲级视频在线观看免费1级| 国产色产综合产在线视频| 欧美日韩国产综合久久| 久久在线免费| 欧美一区二区免费| 在线一区二区三区做爰视频网站| 一区二区亚洲欧洲国产日韩| 国产精品久久久久久亚洲调教| 欧美激情区在线播放| 久久一区二区精品| 欧美影院一区| 亚洲综合电影| 在线天堂一区av电影| 亚洲精品乱码| 亚洲第一中文字幕在线观看| 国产亚洲人成网站在线观看| 国产精品久久中文| 欧美视频官网| 欧美日韩一区高清| 欧美精品一区二区三区在线看午夜 | 黄色在线成人| 国产日韩欧美三级| 国产精品久久久久久av福利软件| 欧美精品入口| 欧美成人精品不卡视频在线观看 | 欧美日韩亚洲在线| 欧美激情日韩| 欧美成年视频| 嫩草成人www欧美| 六月丁香综合| 久久综合九色综合欧美就去吻| 欧美诱惑福利视频| 香蕉成人啪国产精品视频综合网| 亚洲一区二区动漫| 亚洲视频碰碰| 亚洲网站在线| 亚洲与欧洲av电影| 亚洲女同精品视频| 亚洲免费综合| 亚洲欧美网站| 亚洲丰满在线| 亚洲福利视频一区| 亚洲成色精品| 亚洲国产精品成人久久综合一区| 18成人免费观看视频| 激情欧美一区二区| 国内欧美视频一区二区| 狠狠色狠狠色综合日日小说|