JBLOG: 노션 데이터를 이용한 블로그

JBLOG: 노션 데이터를 이용한 블로그

📅기간
2025-08 ~ 2025-08
🔗사이트
https://notion-blog-steel-rho.vercel.app/
🔗GitHub
https://github.com/treephesians/notion-blog
🧠회고

회고 보기

기술
Next.jsTypescriptFastAPIAWS개인
🎯종류
개인

👋 소개

Notion을 CMS로 사용하는 Next.js(앱 라우터) 기반의 블로그/프로젝트 포트폴리오입니다.
게시글/프로젝트 메타데이터는 Notion 데이터베이스에서 가져오고, 본문은 react-notion-x로 렌더링합니다.
notion image

👀 기술적 도전

notion-client 라이브러리가 배포 환경에서 DB의 데이터를 불러오지 못하고 있었다.

원인

  • notion-client가 내부적으로 사용하는 ky가 Next 15 환경에서 네이티브 fetch 조합과 충돌
    • 따라서 요청이 무한 대기
  • json 옵션이 제대로 전송되지 않아 loadPageChunk가 400을 반환했다.

해결

  • next.config.ts
    • webpack alias로 kysrc/lib/ky-shim.ts에 매핑하여 Next 15 환경에서 notion-client의 ky 의존성 문제를 우회
  • src/lib/ky-shim.ts
    • ofetch 기반으로 ky 호환 인터페이스의 post().json()만 최소 구현
 
Notion 데이터의 이미지들이 종종 깨지고 현상이 발견되었다.

원인

  • Notion의 첨부된 image들의 presigned url의 유효기간이 지나 잘못된 url을 가져오는 상황

해결

  • Notion의 데이터들을 내 DB로 저장시키는 백엔드 로직 구현 및 배포