반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

절대 경로 설정(Jest 포함) 본문

UpLog 릴리즈노트 프로젝트

절대 경로 설정(Jest 포함)

5_hyun 2023. 7. 25. 01:43

https://velog.io/@hunmok1027/vite-에서-절대경로-설정하기

처음엔 위 블로그 보고 설정했다.(블로그 주인님께 감사)

잘되는가 싶었는데 내 프로젝트에서는 jest에서 에러가 발생했다..!

문제점

jest에서는 절대 경로를 설정한 파일을 또 불러오지 못한다.

따라서 따로 설정이 필요하다.

해결법

package.json

"jest": {
    "moduleNameMapper": {
      "^@/(.*)$": "<rootDir>/src/$1"
    }
  }

이렇게 설정하여 jest의 절대 경로를 설정했다.

테스트 코드 파일

import UserManageModal from '@/components/Member/MyPage/UserManageModal';

그리고 import 할때, 경로를 @/components 이렇게 불러와야한다.

이때 문제점은 그냥 components, pages 등 파일에서는 @components 이렇게 불러왔었는데, 테스트 코드의 절대 경로 불러오는 방식과 맞지 않았다.

경로 재설정

위 문제점으로 인해 그냥 components, pages 등 파일에서도 @/components 이렇게 불러왔다.

 

-vite.config.ts

resolve: {
    alias: [
      { find: '@/api', replacement: '/src/api' },
      { find: '@/components', replacement: '/src/components' },
      { find: '@/pages', replacement: '/src/pages' },
      { find: '@/hooks', replacement: '/src/hooks' },
      { find: '@/layouts', replacement: '/src/layouts' },
      { find: '@/recoil', replacement: '/src/recoil' },
      { find: '@/types', replacement: '/src/types' },
      { find: '@/utils', replacement: '/src/utils' },
      { find: '@/typings', replacement: '/src/typings' },
      { find: '@/', replacement: '/src' },
    ],
  },

 

-tsconfig.json

"paths": {
      "@/*": ["src/*"],
      "@/components/*": ["src/components/*"],
      "@/pages/*": ["src/pages/*"],
      "@/hooks/*": ["src/hooks/*"],
      "@/layouts/*": ["src/layouts/*"],
      "@/recoil/*": ["src/recoil/*"],
      "@/types/*": ["src/types/*"],
      "@/utils/*": ["src/utils/*"],
      "@/typings/*": ["src/typings/*"],
      "@/api/*": ["src/api/*"]
    }

이렇게 파일들을 재설정하니 해결되었다.


이 문제 때문에 2일은 쓴거 같다..!

뭔가 별거 아닌거 같았지만 처음엔 감이 잘 안잡혔다. 분명 구글링해서 나오는 대로 했는데 되지 않았다...

그래서 해결하고 난 뒤에 좀 허무함이 몰려왔지만, 그래도 해결해서 뿌듯하다!

728x90
반응형
Comments