강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

코린이님의 프로필 이미지
코린이

작성한 질문수

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

(2.4) Shadcn/ui를 소개합니다

[(2.4) Shadcn/ui를 소개합니다] 강의 Shadcn 세팅 관련 질문 있습니다.

작성

·

36

0

안녕하세요 강의 잘 듣고 있습니다
정환님 강의 하셨을 때랑 지금 공식 문서 설치 방법이 달라진 것 같은데 지금 공식문서대로 진행해도 tsconfig.app.json파일과 tsconfig.json파일에 경로 별칭 옵션이 적용이 되는건가요?
아니면 강의 보고 그대로 세팅하면 될까요

image.png



https://ui.shadcn.com/docs/installation/vite

답변 3

2

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 코린이님 이정환입니다.

확인해보니 몇일 전 shadcn/ui 설치 방법이 업데이트 되었네요

그런데 업데이트대로 실행해 본 결과, 아직 제대로 업데이트가 이루어지지 않은 것 같습니다 ... 🥲

image.png

현재 저뿐만 아니라 다른 분들도 문제를 겪고 계신 것 같습니다.

https://github.com/shadcn-ui/ui/issues/9928

 

이에 지금 당장은 깔끔하게 설치를 안내해 드릴 방법이 없어 아래와 같이 자동메세지를 통해 설치가 완료된 프로젝트 코드를 제공해드리고 있습니다.

image.png

 

문제가 해결되는대로 강의 수정하도록 하겠습니다

제보 감사합니다!

1

shadcn/ui 를 설치하기 전에 먼저 tailwindcss 설치와 path alias 패스를 설정해야 합니다.

1. Vite 에 tailwindcss 설치

npm install tailwindcss @tailwindcss/vite
  1. Vite + React + Typescript 환경에 Path Alias 설정

     

     

    • tsconfig.ts 와 tsconfig.app.json 수정

       

    {
     // ...
     /* 템플릿 코드에 추가된 부분 : Path Alias */
      "compilerOptions": {
        "baseUrl": ".",
        "paths": {
          "@/*": ["./src/*"]
        }
      }
    }
    • vite에 tsconfig 의 alias를 반영하기 위해 vite-tsconfig-paths 플러그인을 설치합니다.

    npm install -D vite-tsconfig-paths
    • vite.config.ts 에 vite-tsconfig-path 플로그인을 추가 설정합니다.

    import { defineConfig } from 'vite';
    import react from '@vitejs/plugin-react-swc';
    import tsconfigPaths from 'vite-tsconfig-paths';
    import tailwindcss from '@tailwindcss/vite';
    
    // https://vitejs.dev/config/
    export default defineConfig({
      plugins: [react(), tailwindcss(), tsconfigPaths()],
    });
  2. 위 사전 설정을 마치고 shadcn/ui 를 설치하면 됩니다.

npx shadcn@latest init -t vite
✔️ Select a component libary > Radix
✔️ Which preset would you like to use? > Nova

 

 

 

 

0

컴포넌트 사용할 때 경로가 ./components/ui... 로 잡히는데
@/components/ui... 로 나오는 건가요?

 

Path Alias 가 제대로 설정되어도 VSCode 에서 자동 임포트할 때 path 가 @/components 로 되었다 ./compoents로 잡혔다 합니다.

그럴 때는 수동으로 alias path로 @/components/... 수정하시면 됩니다.

코린이님의 프로필 이미지
코린이

작성한 질문수

질문하기