작업을 하며 "이 파일은 어떤 폴더에 넣어야 하지?"라는 고민을 하게 되었다.
특히, 이미지와 폰트 파일. 그래서 public폴더와 src폴더의 차이점과 특징을 알아보게 되었다.
// index.html
<meta property="og:image" content="/images/og.jpg" />
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16x16.png" />
// jsx
function App() {
return <img src={`${process.env.PUBLIC_URL}/public/images/logo.png`} alt="Logo" />;
}
export default App;
./public/images/~~이 아닌 /images/~~로 사용 한다.// GlobalStyle.jsx
import PretendardRegularWoff2 from "../assets/fonts/Pretendard-Regular.subset.woff2";
import PretendardRegularWoff from "../assets/fonts/Pretendard-Regular.subset.woff";
const GlobalStyle = createGlobalStyle`
@font-face {
font-family: "Pretendard";
src: local(Pretendard-Regular), url(${PretendardRegularWoff2}) format("woff2"), url(${PretendardRegularWoff}) format("woff");
font-weight: 400;
}`;
export default GlobalStyle;
// jsx
import logo from "../assets/images/logo.png";
function App() {
return (
<>
// import 방식
<img src={logo} alt="Logo" />
// require 방식
<img src={require("../assets/images/logo.png").default} alt="Logo" />
</>
);
}
export default App;
import나 require해서 사용해야한다.