[Cloudflare] Pages & Functions: Nextjs ๊ตฌ์ถํ๊ธฐ
Cloudflare ํ์ด์ง๋ ๋จ์ํ ์ ์ ๋ ๋๋ง๋ง ๋๋๊ฒ ์๋๋ผ, Nextjs ๊ฐ์ ์๋ฒ์ฌ์ด๋ ๋ ๋๋ง ์์คํ ๋ ๊ตฌ์ถํด์ ์ฌ์ฉํ ์๊ฐ ์๋ค.
๊ทธ๊ฒ ์ด๋ป๊ฒ ๊ฐ๋ฅํ๊ฐ ํ๋ฉด
Function์ด๋ผ๋ ๋ถ๊ฐ์ ์ธ ์๋ฒ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ๋ถ๋ถ์ด๋ค.
์ด๋ฐ๊ฑธ ํํ Edge ๋ฐํ์์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, AWS์ ๋น์ทํ ๋์ผ๋ก Lambda Edge๊ฐ ์๋ค.
์๋ ์๋๊ฑด ์๋๊ณ , 2022๋ 6์๋ถํฐ ์ง์์ด ์์๋ ๋ฐ๋๋ฐ๋ํ ๊ธฐ๋ฅ์ด๋ค.
๋น์ฉ
์ด๋ฐ๊ฑธ ์จ๋ณด๋ ค๋ฉด ๋น์ฐํ ๋น์ฉ์ ์๊ฐํ์ง ์์ ์ ์๋ค.
Pages์ Functions๋ Cloudflare worker ๊ธฐ๋ฐ์ผ๋ก ์๊ธ์ด ์ฒญ๊ตฌ๋๋ค.
๋คํํ๋ Workers๋ ๋ค๋ฅธ ์๋ฒ๋ฆฌ์ค ์๋น์ค๋ค๊ณผ ๋น๊ตํ๋ฉด ๊ฑฐ์ ๋ผ๊ณ ์๊ฐ๋ ์ ๋๋ก ๋งค์ฐ ์ ๋ ดํ ๊ฐ๊ฒฉ์ ์๋ํ๋ค.
๋งค์ผ๋ง๋ค 10๋ง๊ฑด์ด ๋ฌด๋ฃ๊ณ , ๊ทธ ์ดํ๋ก๋ 100๋ง๊ฑด์ 1๋ฌ๋ฌ๋ ์ํ๋ค.
cloudflare์ ์์ฒญ๋ ์ ์๊ฐ ์๋ง ๋ค ์ด๋ฐ๋ฐ์ ๋์ฌ ๊ฒ์ด๋ค.
์์ค์ฝ๋ ์ธํ ํ๊ธฐ
github ๋ ํฌ ํ๋ ํ๊ณ , ํ ํ๋ฆฟ ๋ง๋ค์ด์ ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ์.
npx create-next-app --example with-static-export cloudflare-nextjs
์ด๊ฑฐ๋ฉด ๋๋ค.
Pages ๋ง๋ค๊ธฐ
cloudflare ์ฝ์์ ๋ค์ด๊ฐ์ Pages๋ฅผ ๋ง๋ค์ด์ฃผ์
๋ ํฌ์งํ ๋ฆฌ ๊ณ ๋ฅด๊ณ
Nextjs๋ฅผ ์ ํํด์ค๋ค.
Statis HTML export๋ก ๊ณจ๋ผ์ฃผ์.
๊ทธ๋ฆฌ๊ณ ํ๊ฒฝ๋ณ์๋ก ๋
ธ๋ ๋ฒ์ ์ ์ค์ ํด์ค์ผ ํ๋ค.
์๊ทธ๋ฌ๋ฉด ์ ๋ฉ๋๋ก ๋ ๊ฑฐ์ํ ๋ฒ์ ์ผ๋ก ์ธํ
ํด์ ์ปดํ์ผ์ด ๋ค ํฐ์ง ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด
์์์ ๋น๋ํด์ ์ฌ๋ ค์ค ๊ฒ์ด๋ค.
์์ฃผ ํธ๋ฆฌํ๋ค.

์ฐธ์กฐ
https://developers.cloudflare.com/pages/framework-guides/deploy-a-nextjs-site/
https://developers.cloudflare.com/pages/platform/functions
https://github.com/remix-run/remix/issues/3095
https://blog.cloudflare.com/next-on-pages/