inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파일 절대경로 설정

709

wodus604

작성한 질문수 4

0

pnpm, vite를 사용하여 리액트 프로젝트 생성한 다음 tailwind 랑 typescript, shadcn/ui 를 설치하였는데요. shadcn/ui를 쓰려고 버튼 컴포넌트를 임포트 하는데 파일경로가 계속 잘못되었다고 합니다. 다 확인했는데 도저히 어디가 문제인지 몰라서 여쭤 봅니다.화면 캡처 2024-01-02 131218.png이런 오류가 뜨고요

tsconfig.json

{
  "compilerOptions": {
    "target": "ES2020",
    "useDefineForClassFields": true,
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "module": "ESNext",
    "skipLibCheck": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["./*"]
    },

    /* Bundler mode */
    "moduleResolution": "bundler",
    "allowImportingTsExtensions": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx",

    /* Linting */
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true
  },
  "include": ["src"],
  "references": [{ "path": "./tsconfig.node.json" }]
}

vite.config.ts

import path from "path"
import { defineConfig } from "vite"
import react from "@vitejs/plugin-react"

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "./src"),
    },
  },
})

App.tsx

import './App.css'
import { Button } from "@/components/ui/button"

function App() {

  return (
    <>
      <div className="ml-4 mt-8 text-3xl font-bold underline">
        Hello world!
      </div>
      <div>
        <Button>Click me</Button>
      </div>
    </>
  )
}

export default App

입니다. 현재 @이게 적용이 안되고 있는 것 같습니다 근데 파일 누르면 올바르게 해당하는 파일로 이동이 잘됩니다. 어디가 문제일까요 ?

react

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

wodus604님, 제시해주신 내용을 바탕으로 문제를 해결하기 위해 몇 가지 점검할 사항을 안내드립니다.

  1. vite.config.ts 파일 설정 확인:
    경로 별칭을 설정하는 resolve.alias 부분이 올바르게 설정되어 있는지 확인합니다. 현재 설정 파일은 올바르게 설정해두셨네요.

  2. 프로젝트 구조 및 파일 존재 여부:
    @/components/ui/button에 해당하는 실제 파일이 프로젝트 내 src/components/ui/ 경로에 존재하는지 확인해야 합니다.

  3. 케이스 감지(Case Sensitivity):
    파일명이나 디렉토리의 대소문자가 정확히 일치하는지 확인합니다. 윈도우에서는 대소문자를 구분하지 않지만, 빌드 시스템이나 다른 운영 체제에서는 대소문자를 구분할 수 있습니다.

  4. tsconfig.jsonpaths 설정:
    paths 옵션에 "@/*": ["./*"]라고 설정하여 @src 디렉토리를 가리키도록 설정하셨으니, 올바른 경로가 맞습니다.

  5. 모듈 리졸버 확인:
    IDE에서 파일을 바로 연결할 때와 달리 빌드 도구에서 모듈을 해석하는 방식이 다를 수 있습니다. 설정이 IDE에서는 올바르게 적용되어 바로 이동이 가능할지라도, 실제 빌드 과정에서 문제가 생길 수 있습니다.

  6. 재시작 및 캐시:
    설정을 변경한 뒤에는 Vite 서버를 재시작해야 합니다. 또한 Vite나 IDE의 캐시로 인해 이전 설정이 여전히 적용되고 있을 수 있으니, 캐시를 클리어하는 것도 좋은 시도일 것입니다.

위의 사항들을 모두 점검해 보시고, 만약 여전히 문제가 해결되지 않는다면 추가적으로 다음 방법을 시도해 보세요.

  • node_modules 및 잠금 파일(yarn.lock, package-lock.json 등)을 삭제한 후 다시 설치해 보십시오.
  • 혹시 문제가 발생하고 있는 Button 컴포넌트 파일 이름의 확장자가 .tsx가 맞는지도 확인해 보십시오.

도움이 되길 바라며, 추가적인 도움이 필요하시면 언제든지 문의해 주세요.

전체적인 개발에 대해 문의드립니다.

0

10

1

챌린지 시작일 문의

0

17

0

줄바꿈 시 \ 필수인가요?

0

23

2

2605 이후 최신 클로드코드 강의 추가 부탁드립니다.

0

16

2

커리큘럼 문서 제공받을 수 있을까요?

0

22

1

ThemeProvider를 이용해서 NextThemeProvider를 따로 생성하여 Layout.tsx에 적용하는 이유는 뭘까요?

0

14

1

mission 09-01 을 수행할 수 없어요

0

22

1

outputStyle 설정하는데 어디서 문제일까요?

0

26

3

test.txt파일 삭제시 rm명령어이니 클로드의 질문이 있어야 한다고 하셨는데

0

17

2

검은화면

0

27

3

강의교환링크안열려요.....

0

26

2

영상재생에러 [확인부탁드려요!!!]

0

23

2

클로드 채팅에서 코드로 넘어가기

0

39

2

Context API vs Zustand 그리고 Auth

0

36

2

110강부터 따라가기가 힘듭니다...

0

53

2

커서에서 붙여넣기

0

37

2

깃허브 사용시 폴더경로 관련질문

0

25

2

[reducer] 기능별 폴더 구조 설계/ 파일 분리로 유지 보수 가능한 아키텍처 구축

0

24

2

순수 함수 / 순수 컴포넌트

0

22

1

스니펫이 이상해요

0

32

2

/output-style 명령어는 폐기 되었다고 나오네요.

0

40

2

프롬프트 작성시 html, css, javascript

0

36

2

Editor Component의 최적화 불가능 이슈

0

38

2

Cursor 창이 수업 내용과 달라요.

0

37

3