ํ ์ ํฌ๊ธฐ๋ก ์๋ผ๋จน๋ Next.js ํ์ต์ ๋ฆฌ์ฉ์ ๋๋ค.
2.4) ํ๋ฆฌํ์นญ
2.4 ํ๋ฆฌํ์นญ
ํ๋ฆฌํ์นญ(Pre-Fetching)์ด๋?
ํ์ฌ ๋ณด๊ณ ์๋ ํ์ด์ง์์ ๋งํฌ๋ค์ ํตํด ์ด๋ํ ์ ์๋ ๋ชจ๋ ํ์ด์ง๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ฌ์ ์ ๋ฏธ๋ฆฌ ๋ค ๋ถ๋ฌ์ค๋ ๊ธฐ๋ฅ
ํ๋ฆฌํ์นญ์ด ํ์ํ ์ด์
์ฌ์ ๋ ๋๋ง ํํธ์์ ์๋ Next.js์์ ์ด๊ธฐ ์ ์ ์์ฒญ์ด ๋ฐ์ํ๋ฉด ์๋ฒ๊ฐ ๋ธ๋ผ์ฐ์ ์๊ฒ html ํ์ด์ง๋ฅผ ์๋ตํ ์ดํ์ ํ์์ผ๋ก ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๋ฒ๋ค ํ์ผ ํํ๋ก ์ ๋ฌ์ ํด์ฃผ๊ณ , ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๋ฒ๋ค ํ์ผ ํํ๋ก ์ ๋ฌํด์ฃผ๊ธฐ ๋๋ฌธ์ ํ์ด์ง ์ด๋์ด ๋ฐ์ํ์ ๋ ์๋ฒ์๊ฒ ๋ณ๋์ ์์ฒญ ์์ด ๋ธ๋ผ์ฐ์ ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์คํ์์ผ์(ํด๋ผ์ธ์ธํธ ์ฌ์ด๋ ๋ ๋๋ง) ์์์ ์ฒ๋ฆฌ๋ฅผ ํ๋ค๊ณ ํ๋ค.
Next.js๋ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ค์ ์๋์ผ๋ก ํ์ด์ง๋ณ๋ก ์คํ๋ฆฌํ (๋ถ๋ฆฌ)ํด์ ์ ์ฅ์ ํด๋๋ค.
๊ทธ๋์ ์ฌ์ ๋ ๋๋ง์ ๊ณผ์ ์์ JS ๋ฒ๋ค ํ์ผ์ ์ ๋ฌํ ๋ ๋ชจ๋ ํ์ด์ง์ ํ์ํ JS ์ฝ๋๊ฐ ๋ค ์ ๋ฌ๋๋ ๊ฒ์ด ์๋, ํ์ฌ ํ์ด์ง์ ํด๋นํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ค๋ง ์ ๋ฌ์ด ๋๋ค. (์ ๋ฌ๋๋ JS ์ฝ๋์ ์์ ์ค์ด๊ธฐ ์ํด)
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํ์ฌ ํ์ด์ง์์ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๊ธฐ ์ํด์ ์ด๋ํ๋ ค๋ ํ์ด์ง์ ํ์ํ JS ์ฝ๋๋ฅผ ์ถ๊ฐ๋ก ๋ถ๋ฌ์์ผ ํ๋๋ฐ ํ์ฌ ํ์ด์ง์ ๊ฐ์ด ํ์ฌ ํ์ด์ง์ ํด๋นํ๋ JS ์ฝ๋๋ฅผ ๋ถ๋ฌ์ค๋ ค๋ฉด ํ์ด์ง ์ด๋์ด ๋๋ ค์ง๊ฒ ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํ๋ฆฌํ์นญ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค.
์ค์ต
run dev ๊ฐ๋ฐ ๋ชจ๋๋ก ๊ฐ๋ํด ๋๊ณ ์์ ๋์๋ ํ๋ฆฌํจ์นญ์ด ๋์ํ์ง ์๋๋ค.
๋ฐ๋ผ์ ํ๋ฆฌํจ์นญ ๋์์ ์ ๋๋ก ํ์ธํ๊ธฐ ์ํด์ ํ๋ก๋์ ๋ชจ๋๋ก ์คํ์์ผ์ผ ํ๋ค.
ํ๋ก๋์ ๋ชจ๋ : npm run build (build ๊ฒฐ๊ณผ์์ ๊ฐ ํ์ด์ง ๋ณ๋ก JS ๋ฒ๋ค์ ์ฉ๋์ ํ์ธํ ์ ์๋ค.)
npm run start๋ก ๋ฅ์คํธ ์ฑ ํ๋ก๋์ ๋ชจ๋๋ก ์คํ
index ํ์ด์ง๋ฅผ ์ด๋ฉด search, book ํ์ด์ง์์ ํ์ํ JS ๋ฅผ ๋ฏธ๋ฆฌ ๋ถ๋ฌ์ ๋์ ๊ฑธ ๋ณผ ์ ์๋ค.
๋ฐ๋ผ์ search, book์ผ๋ก ์ด๋ํ๋ฉด ์ถ๊ฐ์ ์ธ ์์ฒญ์ด ์์ผ์ด๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
ํ๋ฆฌํ์นญ์ด ์์ผ์ด๋๋ ์์ธ ์ฌํญ(ํ๋ก๊ทธ๋๋ฉํฑํ๊ฒ ํ์ด์ง๋ฅผ ์ด๋ํ ๊ฒฝ์ฐ)
ํ๋ก๊ทธ๋๋ฉํฑํ๊ฒ ํ์ด์ง๋ฅผ ์ด๋ํ๋๋ก ์ค์ ํด๋ ๊ฒฝ์ฐ, ํ๋ฆฌํ์นญ์ด ์ผ์ด๋์ง ์๋๋ค.
Link ์ปดํฌ๋ํธ๋ก ๋ช ์๋ ๊ฒฝ๋ก๋ ํ๋ฆฌํ์นญ์ด ์ ๋๋ค.
๐ํ๋ก๊ทธ๋๋ฉํฑํ ๊ฒฝ์ฐ ํ๋ฆฌํ์นญ์ด ์ผ์ด๋๋๋ก ํ๊ธฐ ์ํด์
์ปดํฌ๋ํธ๊ฐ ํ๋ฉด์ ๋ง์ดํธ ๋์์ ๋ ๋ผ์ฐํฐ ๊ฐ์ฒด์ ํน์ ๋ฉ์๋๋ฅผ ํตํด ์ง์ ํ๋ก๊ทธ๋๋ฉํฑํ๊ฒ ํ๋ฆฌํ์นญํ๋๋ก ์ค์ ํด์ฃผ๋ฉด ๋๋ค.
useEffect(() => {
router.prefetch("/test");
}, []);
Link ์ปดํฌ๋ํธ์ ํ๋ฆฌํ์นญ์ ๊ฐ์ ๋ก ํด์ ํ๋ ๋ฐฉ๋ฒ
<Link href='/search' prefetch={false} >Page</Link>
search๋ ํ๋ฆฌํ์นญ ๋์ง ์์์ ๋ณผ ์ ์๋ค.
'FE > Next.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Next.js] page router ํ์ด์ง๋ณ ๋ ์ด์์ ์ค์ (1) | 2025.05.03 |
---|---|
[Next.js] page router - API Routes (0) | 2025.05.03 |
[Next.js] Page Router, ์ค์ , ๋ค๋น๊ฒ์ดํ (1) | 2025.05.02 |
[Next.js] Next.js? (1) | 2025.05.01 |
[Next.js] reactStrictMode (0) | 2025.04.21 |