FastComments.com

Add Comments to Your Next.js App


์ด๊ฒƒ์€ FastComments์šฉ ๊ณต์‹ Next.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.

Next.js ์•ฑ์— ์‹ค์‹œ๊ฐ„ ๋Œ“๊ธ€, ์ฑ„ํŒ… ๋ฐ ๋ฆฌ๋ทฐ ์œ„์ ฏ์„ ์ž„๋ฒ ๋“œํ•˜์„ธ์š”.

๋ฆฌํฌ์ง€ํ† ๋ฆฌ

GitHub์—์„œ ๋ณด๊ธฐ


๋ผ์ด๋ธŒ ์‡ผ์ผ€์ด์Šค Internal Link


๊ณต์šฉ demo ํ…Œ๋„ŒํŠธ์— ๋Œ€ํ•ด ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ์™€ ํ”Œ๋กœ์šฐ๊ฐ€ ๋กœ์ปฌ์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ณด๋ ค๋ฉด, ์ €์žฅ์†Œ๋ฅผ ํด๋ก ํ•˜๊ณ  ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์„ธ์š”:

cd example
npm install
npm run dev

๊ฐ ์ปดํฌ๋„ŒํŠธ๋Š” example/app/ ์•„๋ž˜์— ์ž์ฒด ๋ผ์šฐํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์ž์‹ ์˜ Next.js app์— ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜ Internal Link

npm install fastcomments-nextjs

๋น ๋ฅธ ์‹œ์ž‘ Internal Link

// app/page.tsx
import { FastComments } from 'fastcomments-nextjs';

export default function Page() {
    return <FastComments tenantId="demo" />;
}

"demo"๋ฅผ FastComments ํ…Œ๋„ŒํŠธ ID๋กœ ๋ฐ”๊ฟ”์ฃผ์„ธ์š”. ์ปดํฌ๋„ŒํŠธ๋Š” ์ด๋ฏธ 'use client'๋ฅผ ์„ ์–ธํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปดํฌ๋„ŒํŠธ Internal Link


์ปดํฌ๋„ŒํŠธ ์„ค๋ช…
FastComments ๋‹ต๊ธ€, ํˆฌํ‘œ ๋“ฑ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋Œ“๊ธ€ ์œ„์ ฏ
FastCommentsCommentCount ํŽ˜์ด์ง€์˜ ๋Œ“๊ธ€ ์ˆ˜๋ฅผ ํ‘œ์‹œ
FastCommentsImageChat ์ด๋ฏธ์ง€ ์ฃผ์„ ๋Œ“๊ธ€
FastCommentsLiveChat ๋ผ์ด๋ธŒ ์ฑ„ํŒ… ์œ„์ ฏ
FastCommentsCollabChat ํ˜‘์—… ์ธ๋ผ์ธ ๋Œ“๊ธ€
FastCommentsReviewsSummary ๋ณ„์  ๋ฆฌ๋ทฐ ์š”์•ฝ
FastCommentsUserActivityFeed ์‚ฌ์šฉ์ž ํ™œ๋™ ํ”ผ๋“œ

๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋Š” ํŒจํ‚ค์ง€ ๋ฃจํŠธ์—์„œ ๋‚ด๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค:

import {
    FastComments,
    FastCommentsLiveChat,
    FastCommentsReviewsSummary,
} from 'fastcomments-nextjs';

Vercel ๋ฐฐํฌ Internal Link

Vercel Marketplace ํ†ตํ•ฉ์„ ํ†ตํ•ด FastComments๋ฅผ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ, ํ…Œ๋„ŒํŠธ ID๋Š” FASTCOMMENTS_TENANT_ID ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์—์„œ ์ฝ์œผ๋ ค๋ฉด next.config.js๋ฅผ ํ†ตํ•ด ๋…ธ์ถœํ•˜๊ฑฐ๋‚˜ NEXT_PUBLIC_ ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์ด์„ธ์š”:

<FastComments tenantId={process.env.NEXT_PUBLIC_FASTCOMMENTS_TENANT_ID!} />

์˜ˆ์ œ ํ”„๋กœ์ ํŠธ Internal Link

์ž‘๋™ํ•˜๋Š” ๋ฐ๋ชจ๋Š” example/ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:

cd example && npm install && npm run dev


์œ ์ง€ ๊ด€๋ฆฌ ์ƒํƒœ Internal Link

์ด ์ปดํฌ๋„ŒํŠธ๋“ค์€ ๋‹น์‚ฌ์˜ ํ•ต์‹ฌ VanillaJS ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ์‹ผ ๋ž˜ํผ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฐฐํฌํ•˜์ง€ ์•Š๊ณ ๋„ ์ด ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ(๋ฒ„๊ทธ ์ˆ˜์ •, ๊ธฐ๋Šฅ ์ถ”๊ฐ€)ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ž ์‹œ ๋™์•ˆ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ด์„œ FastComments๊ฐ€ ํ™œ๋ฐœํžˆ ๊ฐœ๋ฐœ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค! ์—…๋ฐ์ดํŠธ๋Š” ์šฐ๋ฆฌ ๋ธ”๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋Š”(API breaking) ๋ณ€๊ฒฝ์ด๋‚˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฒ„์ „์ด ์˜ฌ๋ ค์ง€์ง€ ์•Š๋Š” ํ•œ ๊ธฐ๋ณธ(core) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ ˆ๋Œ€ ๋ฐ˜์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋„์›€์ด ํ•„์š”ํ•˜์‹ ๊ฐ€์š”?

Next.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ด€๋ จํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์งˆ๋ฌธ์ด ์žˆ์œผ์‹œ๋ฉด ๋‹ค์Œ์„ ์ด์šฉํ•ด ์ฃผ์„ธ์š”:

๊ธฐ์—ฌ

๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ๊ธฐ์—ฌ ์ง€์นจ์€ GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธํ•ด ์ฃผ์„ธ์š”.