Skip to content

폴더명과 파일명 동일하지 않을 때 발생하는 이슈 #5

@homiekim

Description

@homiekim

빌드 에러 해결

  • layout 수정과 login 폼 작업하신 부분 바로 master 브랜치로 풀리퀘 해주셔서 수정 사항이 많지 않아 우선 제가 바로 merge 하였습니다.
  • github action 에서 배포 도중 빌드 에러를 확인 하여 해결 하였습니다.

에러 내용

image

에러 원인?

-> pages/signup에서 components/Button/Button에서 Button을 참조 하고 있는데 components/Button 경로에 Button 컴포넌트는 button.tsx로 소문자로 되어있어서 참조를 못하여 발생한 에러 입니다.

해결 방법

  • dev 브랜치에서 파일명을 button.tsx -> Button.tsx로 변경후 풀리퀘 / 머지 하였는데 master 브랜치에 파일명이 바뀌지 않는 것을 확인하였습니다.
  • 알아보니가 github에서 대소문자 구별 없이 캐싱하는 것 같습니다. 그래서 button이랑 Button을 같은 거로 인식해서 commit 해도 바뀌지 않는 것 같습니다.
  • 강제로 파일명 바꾸기! -> master 브랜치 들어가서 git 명령어로 강제로 파일 명 바꿔줬습니다. 해당 명령어는 mv 입니다.
    image
  • master 브랜치랑 dev 브랜치 동일하게 수정하였고 개발 할 때는 git pull origin dev로 받아서 개발하고 dev로 풀리퀘 모으면 될 것 같습니다!

제안 사항

  • 저는 이런 경우 헷갈리지 않기 위해 폴더 하나에 index.tsx 를 만들어 export default 하는 방법을 사용하는데 이렇게 쓰는게 어떨지 제안 해 봅니다.

예시

image
해당 예시의 경우 components/login-sectoin경로로 import 하면 index.tsx를 가져옵니다.

한 폴더 안에 여러개의 컴포넌트를 작성해야하는 경우?

image
index.ts
image
해달 폴더의 index.ts에서 전부 export 해주고 사용할 컴포넌트에서 import { Login, SignUp } from 'components/auth' 이런식으로 사용 가능 합니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions