React
[React] 정적인 컴포넌트를 보관할 때
단호박햄톨
2024. 4. 2. 23:59
header나 footer와 같은 정적인 컴포넌트를 보관할 때에는 굳이 component로 보관하지 않아도됨
index.html
<body>
<header>
<img src="test-logo.png"/>
</header>
<div id="root"></div>
<script type="module" src="/src/index.jsx"></script>
</body>
위와같이 header를 컴포넌트로 만들지 않고 index.html에 직접 만들어도 된다는 소리다.
img src 를 참조할 때, public 폴더 내에 png파일을 넣으면 png파일 이름만 src에 삽입하면 된다 (index.html, index.css에서 직접 참조 가능)
경로 public : public/에 저장된 이미지는 프로젝트 개발 서버 및 빌드 프로세스에 의해 공개적으로 제공되기 떄문이다. 이 파일들은 브라우저 내에서도 직접방문 가능 ex) localhost:8080/test-logo.png
=> 빌드 프로세스에 의해 처리되지 않는이미지 ex ) 파비콘 대체적으로 사용 가능
경로 src/assets : src/assets 와 같은 하위 폴더에 저장된 모든 파일은 공개적 제공이 아니므로 웹사이트 방문자가 접근할 수 없다. 대신 코드 파일에서 사용가능하다. 코드 파일에 가져온 이미지는 빌드 프로세스에 의해 인식되어 최적화 되며, 웹사이트에 제공하기 직전에 public 폴더에 삽입된다. 가져온 이미지는 참조한 위치에서 자동으로 링크가 생성되어 사용된다.
=> 컴포넌트 내에서 사용되는 이미지는 src/assets에 저장