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

power1004pow님의 프로필 이미지
power1004pow

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

useAxios 훅을 통한 보다 손쉬운 조회 API 요청

axios-hooks 설치후 에러가납니다.

작성

·

415

0

처음에 npm으로 설치를해서 충돌이 난거같아 nodemodules를 지워버리고 yarn.lock을 지운뒤 yarn install로 node_modeules를 재설정했습니다. 그후 yarn start를하면 pages를 제대로 못읽어옵니다
 
C:\PYPRO\FRONT\SRC
├─assets
├─components
├─pages
│ └─accounts
└─utils
 
디렉토리 구조는 이렇게 제대로 돼어있는데
./src/index.js
Module not found: Can't resolve 'pages' in 'C:\pypro\front\src'
 
yarn start를하면 해당 에러를 뱉습니다 ㅜㅜ

답변 1

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

npm install 명령으로 axios-hooks 명령을 설치하셨을 때, 충돌이 발생하셨다고 하셨는 데, 그 충돌이 어떤 충돌이었는 지 설명해주실 수 있으실까요?

---

yarn 으로 생성된 CRA 프로젝트에서 npm 으로 팩키지를 설치하시면, package-lock.json 파일이 생성이 되고 node_modules에 라이브러리가 설치가 됩니다. npm install 시에 --save 옵션을 주셨다면 packages.json에도 팩키지명/버전이 추가됩니다. 다만 yarn.lock 에는 반영이 안 될 뿐이죠.

두 종류의 lock이 생성이 된 것 일 뿐 애플리케이션 구동에는 특별한 문제가 없습니다. 라이브러리는 설치가 되었으니깐요.

말씀하신 대로 yarn.lock을 삭제하시고 (package-lock.json도 삭제하셔야겠죠) node_modules도 지워주시고, packages.json 만 남기시고 yarn install 명령을 내리셨다면 packages.json 내역대로 라이브러리가 설치될 것입니다.

그런데 라이브러리와는 별개로 src/index.js 내에서 "Module not found: Can't resolve 'pages'" 라고 뜨는 것은 이러한 라이브러리와는 별개입니다.

index.js 내에서 import 는 import Root from "pages"; 처럼 하셨을 테구요. 혹시 frontend 프로젝트 경로에 jsconfig.json 파일이 있으신지요? 위 import를 import Root from "./pages"; 로 지정하시면 어떠신가요?

만약 구동되신다면 jsconfig.json이 없어서 발생하는 문제입니다. jsconfig.json 파일은 아래 경로에서 확인하실 수 있구요.
https://github.com/askcompany-kr/django-with-react-rev5/blob/master/frontend/jsconfig.json

본 설정을 통해 리액트 CRA에서는 디폴트로 상대경로로 임포트를 해야하는 데, 절대경로로 임포트를 할 수 있게 됩니다.

power1004pow님의 프로필 이미지
power1004pow

작성한 질문수

질문하기