chingu 팀 프로젝트에서 Next.js를 사용하는데 마크업을 하던 도중 로컬 폰트 파일이 적용 안돼서 여기저기 구글링을 통해 알아왔다.
public/static/fonts
폴더에 폰트 파일 넣고 Globalstyles.js
에 @font-face로 불러와서 적용하기 - 안됨public/static/fonts
폴더에 폰트 파일을 넣는다.
public/static/fonts
에 style.css
를 만든다.@font-face {
font-family: 'Soak-Up-The-Sun';
src: url('Soak_Up_The_Sun_Script.otf') format('opentype');
font-weight: normal;
font-style: normal;
}
_app.js
에 style.css
파일을 import 한다.import GlobalStyles from "../components/GlobalStyles";
import Layout from "../components/Layout";
import { Hydrate } from "react-query";
import "../public/static/fonts/style.css";
export default function MyApp({ Component, pageProps }) {
return (
<>
<GlobalStyles />
<Layout>
<Hydrate state={pageProps.dehydratedState}>
<Component {...pageProps} />
</Hydrate>
</Layout>
</>
);
}
...
h2 {
font-family: "Soak-Up-The-Sun";
font-weight: lighter;
text-align: center;
font-size: 9.375rem;
color: ${COLORS.white};
}
잘 적용되는 걸 확인할 수 있다.