728x90
리액트에는 크게 이미지처리방법이 2가지 있다.
1. public 파일 안에 바로 이미지를 관리하는 방법
2. src/assets 파일을 만든 후 이미지를 관리하는 방법
과연 어떤 방법이 좀 더 좋은 방법일까?
정답은 두가지 방법다 장단점이 존재한다.. 이다.
1. public 사용
간단하게 사용할 수 있으며 public 폴더에 있는 이미지를 상대 경로를 통해 쉽게 불러올 수 있다.
이미지를 직접 불러오기 때문에 번들링 처리가 필요없다 라는 장점이 있다.
대신 이미지의 관리가 어려울 수 있으며 이미지가 많거나 프로젝트가 커질수록 유지보수가 어려워진다는 단점이 있다.
또, 이미지의 크기가 큰 경우 로딩 성능에도 영향을 미칠 수 있다고 한다.
<img src="/images/my-image.jpg" alt="My Image" />
위 예시처럼 불러올 수 있다.
2. src/assets 사용
이미지를 구조화 할 수 있기 때문에 유지보수 및 관리 측면에서 큰 도움이 된다.
Webpack과 같은 모듈 번들러를 사용하여 이미지를 처리할 수 있으며 이미지를 최적화하고 번들에 포함시킬 수 있다.
하지만 이미지를 번들링하면 번들의 크기가 커질 수 있다.
import myImage from '../assets/images/my-image.jpg';
// ...
<img src={myImage} alt="My Image" />
위 예시처럼 사용할 수 있다.
따라서 프로젝트의 성향에 따라서 이를 잘 선택하는 것이 중요하다. 보통 큰 규모의 프로젝트일수록 src/assets 폴더를 활용하여 이미지를 구조화하고 관리한다.
번들러를 통해 이미지를 최적화할 수 있는 장점이 크고 유지보수가 쉽기 때문이다.
728x90
'FrontEnd > React' 카테고리의 다른 글
[React] 리액트에서 tdd 개발하기 (with emotion) (0) | 2023.12.14 |
---|---|
[StoryBook] 스토리북 적용하기 (0) | 2023.12.12 |
[React] msw로 가짜 api 만들기 (0) | 2023.02.09 |
[React] 토스트 알람창으로 alert 대체하기 (0) | 2023.02.03 |
[React] 스크롤 이벤트 활용하기 (0) | 2023.02.01 |