logo
Published on

NextJS13 + ContentLayer + 한글 이슈

Authors
  • avatar
    Name
    shleecloud
    Twitter

문제

블로그 첫 글을 게시하려는 CI 과정에서 에러가 발생했다.
dev 환경에선 페이지가 정상으로 나왔지만 build 과정에서 에러가 발생했다.

라는 문자열에서 발생했고 한글이 포함되어 있으면 어떤 위치라도 에러가 발생했다.

Generated 3 documents in .contentlayer
 ✓ Creating an optimized production build
 ✓ Compiled successfully
   Linting and checking validity of types  . ⚠ TypeScript project references are not fully supported. Attempting to build in incremental mode.
 ✓ Linting and checking validity of types
   Collecting page data  ...SyntaxError: Unexpected token 하 in JSON at position 15480
    at JSON.parse (<anonymous>)

해결

nextjs.config.js 파일에서 swcMinify 옵션을 false로 지정 후 정상 동작을 확인했다.

원인

NextJS13부터 swcMinify 옵션 기본값이 True로 변경됐다. 기존 Terser 대비 7배 빠른 성능향상이라고.
하지만 Contentlayer에서 사용할 때 아직 한글 호환이 안되는 것 같다.

"next": "13.5.3",
"next-contentlayer": "0.3.4",

참조 URL

자료가 딱 하나 나왔다.
Next.js에서 contentlayer 사용하여 손쉽게 정적블로그 만들기