๐์ค๋ ๋ฐฐ์ด ๊ฒ
next/Image ๊ด๋ จ ๊ฒฝ๊ณ ๋ค
์ค๋ next/Image๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ค์ํ ๊ฒฝ๊ณ ๋ฅผ ๋ง๋ฌ์๋ค. ์ง๊ธ ๋น์ฅ ๊ธฐ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ ๊ฑด ์๋์ง๋ง ์ฝ์์ ๊ณ์ ๊ฒฝ๊ณ ๊ฐ ๋จ๋ฉด ์ ๊ฒฝ์ฐ์ด๊ธฐ์... ๊ฒฝ๊ณ ๋ฅผ ํ๋์ฉ ์ฒ๋ฆฌํ์๋ค!
priority ๊ด๋ จ ๊ฒฝ๊ณ
Image with src "/_next/static/media/image2.d26e4b3a.jpg" was detected as the Largest Contentful Paint (LCP). Please add the "priority" property if this image is above the fold. Read more: https://nextjs.org/docs/api-reference/next/image#priority
์ด ๊ฒฝ๊ณ ๋ ํด๋น ์ด๋ฏธ์ง๊ฐ LCP๋ก ๊ฐ์ง๋๋๋ฐ priority ์ค์ ์ด ์๋์ด ์์ ๋ ๋ํ๋๋ ๊ฒ ๊ฐ์๋ค. ๋ฐ๋ผ์ priority=true๋ฅผ ์ค์ ํด์ฃผ๋ฉด ํด๊ฒฐ๋๋ค. ํ์ง๋ง ๋๊ฐ์ ๊ฒฝ์ฐ priority=true๋ฅผ ์ค์ ํ์ ๋ ๋ค๋ฅธ ๊ฒฝ๊ณ ๊ฐ ๋ํ๋ฌ์๋ค. ใ
preload ๊ด๋ จ ๊ฒฝ๊ณ
The resource
http://localhost:3000/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fimage3.cd6f8dc1.jpg&w=96&q=75
was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate as value and it is preloaded intentionally.
ํด๋น ๊ฒฝ๊ณ ๋ preload๋ ์ฝํ ์ธ ๊ฐ window๊ฐ ๋ก๋๋ ํ ๋ช ์ด ์ด๋ด์ ์ฌ์ฉ๋์ง ์์ ๋ ๋ํ๋ ๊ฒฝ๊ณ ์ด๋ค. ์๋ง priority ์ค์ ์ ํ๋ฉด์ ์ฐ์ ์์๊ฐ ๋์์ ธ ๋ฏธ๋ฆฌ๋ก๋๋๋๋ฐ ์ด ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒ ๊ฐ์๋ค. ํ์ง๋ง priority ์ค์ ์ ์์ ๋ฉด ๋ ๋ค๋ฅธ ๊ฒฝ๊ณ ๊ฐ ๋จ๋ ์ํ!
๊ทธ๋์ ๊ตฌ๊ธ๋ง์ ํตํด์ placeholder๋ฅผ ์ค์ ํด์ฃผ์๋๋ ํด๊ฒฐ๋์๋ค!
์๋๊ฐ ๊ฒฝ๊ณ ๊ฐ ๋จ์ง ์๊ฒ ์ฌ์ฉ๋ ํ๊ทธ์ด๋ค.
<Image
src={src}
width={87}
height={130}
placeholder='blur'
blurDataURL={src.src}
alt='์ถ์ฒ ์ฑ
์ฅ ์ฑ
ํ์ง'
className='rounded-r'
/>
width/height ๊ด๋ จ ๊ฒฝ๊ณ
Image with src "/_next/static/media/image3.cd6f8dc1.jpg" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles 'width: "auto"' or 'height: "auto"' to maintain the aspect ratio.
์ฌ์ค ์ฒ์ ๋ง๋ฌ๋ ๊ฒฝ๊ณ ๊ฐ ์ด๊ฑฐ์ด๊ณ ๊ฝค๋ ์ ๋ฅผ ๋จน์๋ค. ๊ทธ ์ด์ ๋ ํด๋น ์ด๋ฏธ์ง๊ฐ ์ฌ์ฉ๋๊ณ ์๋ ํ๊ทธ๋ฅผ ์ฐฉ๊ฐํ๊ธฐ ๋๋ฌธ...^^ ๋๋น๋ ๋์ด์ ๋ํ ๊ฒฝ๊ณ ์ธ๋ฐ ๊ตฌ๊ธ๋ง์ ํด๋ดค๋๋ ๋ถ๋ชจ ์์์ position= relative๋ฅผ ์ค์ ํด๋์์ ๋ ์ข ์ข ๋ํ๋ ์ ์๋ ๊ฒฝ๊ณ ๋ผ๊ณ ํ๋ค. ํด๊ฒฐ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค. Image ํ๊ทธ์์ width, height ์ค์ ํ ๊ฒ์ css์์ ๋ค์ ๋ช ์ํด์ฃผ๋ฉด ๋๋ค.
<Image
src={localImg}
width={80}
height={110}
alt='์ฑ
ํ์ง'
className='w-[80px] h-[110px]'
/>
์ด๋ ๊ฒ! (์์ ๊ฒฝ์ฐ๋ tailwind๋ฅผ ์ฌ์ฉ์ค์ด๋ผ calssName์ผ๋ก css๋ฅผ ์ค์ ํ๊ณ ์๋ค.)
๐ญ๋ฐฐ์ด ์
์ค๋ Image ๊ด๋ จ ๊ฒฝ๊ณ ๋ ๋ค ๋ง๋ ๊ธฐ๋ถ์ด๋ค...ใ ใ ใ ใ ๊ฒฝ๊ณ ๋ฌธ์ด ๋ฌด์ํ๋ ค๋ฉด ํ ์ ์์ง๋ง ๋๊ฒ ์ฐ์ฐํ๊ณ ํด๊ฒฐํ๊ณ ์ถ์ ์์ด๋ค.. ํ๊ทธ๋ฅผ ์ฐฉ๊ฐํด์ ํค๋งค๋๋ผ ์๊ฐ์ ์ด์ํ๊ฒ ํ๋นํ๊ธด ํ์ง๋ง ๊ฒฐ๊ตญ ๋ค ํด๊ฒฐ๋์ ๊ธฐ์๋ค! ๊ฒฝ๊ณ ๋ฌธ ๋ป ์ฐพ์ผ๋ฉด์ next/Image์์ ์ฌ์ฉํ๋ props์ ๋ํด์๋ ์ฌ๊ธ ๋ ์ดํด๋ ๋๋?!
'์ผ์ > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2023.06.16[nextjs - query ] (0) | 2023.06.17 |
---|---|
2023.06.04[nextjs - image type error] (2) | 2023.06.04 |
2023.06.01 [color-thief-react] (0) | 2023.06.01 |
2023.05.24[nextjs] (0) | 2023.05.24 |
2023.05.17[์ต์ ์ ์ฅ ํธ๋ฆฌ] (0) | 2023.05.17 |