logo

Next JS에서 path alias 설정하기 (feat. @/components)

next · 2021년 4월 21일 · 4 min read

안녕하세요.

오늘은 Next JS에서 import 시 복잡한 relative path 대신 absolute path 사용을 위한 설정법을 알아봅시다.

들어가며

../../../../style/global.scss is not found ...

우리는 개발을 할 때 import를 매우 자주 사용하곤 합니다.

file path를 상대경로로 지정하다보면 유지보수면에서도 복잡하고,
path를 지정할 때마다 경로가 헷갈려서 발생하는 오류는 덤입니다.

이럴 때 path에 대한 alias를 설정하면 코드는 확 깔끔해질 것입니다.

아래 예제를 통해서 따라해봅시다.

설정하기

1. jsconfig.json 파일 생성

프로젝트 루트 폴더에 jsconfig.json을 생성에주세요. 파일에서 몇 가지 옵션을 부여할 것입니다.

2. alias 추가하기

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "@/components/*": ["components/*"],
            "@/styles/*": ["styles/*"]
        }
    }
}

위와 같이 compilerOptions를 추가하면 컴파일러는 등록된 alias를 마주할 때마다 path로 치환하게 됩니다.

3. 사용해보기

import SomeComponent from '@/components/SomeComponent'

// ...codes below

alias를 추가하였다면 위처럼 매우 쉽게 사용할 수 있습니다.

관련 포스트
post image
next image blurDataURL 직접 부여하기
NextJS를 사용하면, 무조건 거치게 되는 기능이 있다. 바로 Image Optimization이다. 필자도 현록을 개발하면서 LCP 시점을 개선하기 위한 방법을 찾던 중 알게 됐는데, 파면 팔수록 Vercel은 정말 무서울 지경이다. 오늘연 여기서 placeholder prop에 blur를 부여하고 blurDataURL prop value를 직접 부여하는 경우를 다뤄보겠다.
next·2022년 10월 5일·6 min read
post image
Next JS에서 레이아웃 사용하기
홈페이지를 구성할 때, 우리는 대체로 네비게이션과 푸터, 플로팅 버튼 등을 포함합니다. 개발단계에서 이들 컴포넌트를 페이지마다 일일이 import하는 것은 매우 비효율적인 일입니다. 만약 이들처럼 대부분의 페이지에서 보여줘야될 내용이 있다면, 레이아웃 컴포넌트를 통해 손쉽게 유지보수할 수 있을 것입니다.
next·2021년 4월 20일·6 min read