Next.js 12 - ISR(Incremental Static Regeneration)
ยท
♠๏ธ Next.js 12
โœ… ISR์ด๋ž€?ISR(Incremental Static Regeneration)์€ ๋‹จ๊ณ„์  ์ •์  ์žฌ์ƒ์„ฑ์ด๋ผ๋Š” ๋œป์œผ๋กœ์„œ, getStaticProps๋ฅผ ์‚ฌ์šฉํ•œ ์ •์  ํŽ˜์ด์ง€ ์ƒ์„ฑ๊ณผ ๊ฐ™์€ ๋™์ž‘์„ ํ•˜์ง€๋งŒ, ์ตœ์‹  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.export async function getStaticProps() { console.log("Building static community"); const posts = await client.post.findMany({ include: { user: true, }, }); return { props: { posts: JSON.parse(JSON.stringify(posts)), }, revalidate: 5, };} reva..
Next.js 12 - getStaticProps, getStaticPaths
ยท
♠๏ธ Next.js 12
โœ… getStaticPropsgetServerSideProps๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋จ.getStaticProps๋Š” ๋นŒ๋“œ์‹œ์— ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์‹  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ˜์˜์ด ์•ˆ ๋จexport async function getStaticProps() { const blogPosts = readdirSync("./posts").map((file) => { const content = readFileSync(`./posts/${file}`, "utf-8"); const [slug, _] = file.split("."); return { ...matter(content).data, slug }; }); return { props: { posts: blogPosts.r..