๐Ÿ“– TIL - ์ตœ์‹  Next.js์—์„œ ์ œ๊ณตํ•˜๋Š” ์บ์‹ฑ๊ธฐ๋Šฅ๋“ค

์Š˜ยท2025๋…„ 9์›” 1์ผ

๐Ÿ“– TIL

๋ชฉ๋ก ๋ณด๊ธฐ
88/90

Next๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์บ์‹ฑ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ฒŒ ๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”๋ชจ์ด์ œ์ด์…˜, ํด๋ผ์ด์–ธํŠธ ๋ผ์šฐํ„ฐ ์บ์‹œ, ๋ฐ์ดํ„ฐ ์บ์‹œ, ํ’€ ๋ผ์šฐํŠธ ์บ์‹œ๋กœ ๋‚˜๋ˆ„์–ด ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”๋ชจ์ด์ œ์ด์…˜

  • ๋™์ผํ•œ ์š”์ฒญ์ด ์—ฌ๋Ÿฌ๋ฒˆ ๋ฐœ์ƒํ•  ๋•Œ, ๋ถˆํ•„์š”ํ•œ ์ถ”๊ฐ€ ์š”์ฒญ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ

  • ๊ธฐ๋ณธ์ ์œผ๋กœ Next.js๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ์—์„œ ๋™์ผํ•œ ์š”์ฒญ์ด ์ค‘๋ณต๋ฐœ์ƒํ•˜๋ฉด ๊ธฐ์กด ์‘๋‹ต์„ ์žฌ์‚ฌ์šฉ

=> ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€ ๋‚ด์— ์กด์žฌํ•˜๋Š” ์ค‘๋ณต๋œ ์š”์ฒญ์„ ๋ฐฉ์ง€๋ฅผ ํ†ตํ•œ ๋„คํŠธ์›Œํฌ ๋น„์šฉ ๊ฐ์†Œ

ํด๋ผ์ด์–ธํŠธ ๋ผ์šฐํ„ฐ ์บ์‹œ

  • ๋ ˆ์ด์•„์›ƒ, ๋กœ๋”ฉ ์ƒํƒœ์™€ ๊ฐ™์ด ๊ณตํ†ต์ ์œผ๋กœ ์“ฐ์ด๋Š” ์š”์†Œ์— ๋Œ€ํ•œ RSC Payload๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์บ์‹ฑํ•˜๋Š” ๊ธฐ๋Šฅ

  • ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ํŽ˜์ด์ง€ ์ „ํ™˜ ์‹œ ์บ์‹ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜๊ธฐ์— ๋น ๋ฅธ ํƒ์ƒ‰์ด๊ฐ€๋Šฅํ•จ

=> ์„œ๋ฒ„ ๋ถ€ํ•˜ ๊ฐ์†Œ

๋ฐ์ดํ„ฐ ์บ์‹œ

  • ๋„คํŠธ์›Œํฌ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ Next์„œ๋ฒ„์— ์บ์‹ฑํ•˜๋Š” ๊ธฐ๋Šฅ
    Next์—์„œ๋Š” fetch()์— ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ์บ์‹œ ์˜ต์…˜์„ ์ ์šฉ๊ฐ€๋Šฅํ•จ
{cache: 'force-cache'}

์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์บ์‹ฑ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Œ
revalidate์˜ต์…˜์„ ํ†ตํ•ด ์บ์‹ฑ์„ ์ ์šฉํ•˜๋˜ ์ผ์ •์ฃผ๊ธฐ๋กœ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์Œ

{cache: 'no-store'}

ํ’€ ๋ผ์šฐํŠธ ์บ์‹œ

  • ์„œ๋ฒ„์—์„œ ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋œ ํŽ˜์ด์ง€๋ฅผ ์ €์žฅํ•˜๊ณ , ์ดํ›„ ๋™์ผํ•œ ์š”์ฒญ์ด ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ ์บ์‹ฑ๋œ ํŽ˜์ด์ง€๋ฅผ ์ฆ‰์‹œ ์ œ๊ณตํ•จ
  • cookie(), headers()์™€ ๊ฐ™์€ Dynamic Function์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ Route Segment Config๋ฅผ ๋™์  ์˜ต์…˜์œผ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ ์บ์‹œ๋ฅผ ์ ์šฉํ•˜๋ฉด ํ’€ ๋ผ์šฐํŠธ ์บ์‹œ๊ฐ€ ํ™œ์„ฑํ™”๋จ
  • fetch()์— revalidate ์˜ต์…˜์„ ์„ค์ •ํ•˜๋ฉด ์ผ์ •์ฃผ๊ธฐ๋กœ ํŽ˜์ด์ง€๊ฐ€ ๊ฐฑ์‹ ๋˜๋Š” ISR๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ

=> ํŽ˜์ด์ง€ ๋กœ๋“œ ์†๋„๋ฅผ ๊ทน๋Œ€ํ™” ํ•  ์ˆ˜ ์žˆ์Œ

profile
์ฃผ๋‹ˆ์–ด ํ”„๋ก ํŠธ์—”๋“œ ์„ฑ์žฅ๊ธฐ ๊ธฐ๋ก๊ธฐ๋ก

0๊ฐœ์˜ ๋Œ“๊ธ€