Project

public 폴더에 있는 이미지를 사용하는 경우, 배포 시 이미지가 로드되지 않는 문제

HYEBEEN 2023. 5. 11. 01:31

🧐 배포시 일부 이미지가 들어오지 않는 문제 

 

프로젝트를 하던 도중에 localhost 주소 에서는 잘 들어오더 이미지가 배포시에는 들어오지 않는 문제가 발생했다.

  background: url(/public/assets/SignInBg.png) no-repeat;

 

해결방법 : process.env.PUBLIC_URL 환경 변수 사용

  background: url(${process.env.PUBLIC_URL}/assets/SignInBg.png) no-repeat;

 

프로덕션 환경에서는 애플리케이션의 경로가 변경될 수 있기 때문에, 정적 파일의 경로를 하드코딩하는 것은 좋지 않습니다.

이를 해결하기 위해 process.env.PUBLIC_URL을 사용하는 것입니다.

 

process.env.PUBLIC_URL은 애플리케이션의 루트 경로를 나타내는 환경 변수입니다. 이 변수를 사용하여 애플리케이션의 경로를 자동으로 가져와 정적 파일의 경로를 정의할 수 있습니다. 이렇게 하면 애플리케이션이 호스팅되는 경로가 변경되더라도 정적 파일의 경로를 일일이 수정하지 않아도 됩니다. 따라서 코드 유지보수성과 이식성을 높일 수 있습니다.

 

process.env.PUBLIC_URL을 사용하면, 프로덕션 환경에서도 올바른 경로를 참조할 수 있습니다.

따라서, 정적 파일의 경로를 하드코딩하는 대신, process.env.PUBLIC_URL을 사용하는 것이 좋습니다. 😀