Nextjs에서 자체 호스팅 글꼴을 사용하는 방법
8461 단어 reactwebdevjavascriptnextjs
최근 작업한 프로젝트는 Nextjs를 사용했습니다. 상당히 간단하고 간단했지만 Nextjs에서 자체 호스팅 글꼴을 사용하는 것은 약간 까다롭습니다.
검색을 잘 못했을 수도 있지만 Nextjs에 글꼴을 추가하는 방법에 대한 정보가 많지 않았습니다. 결과적으로 기존의 자체 호스팅 글꼴( font-face )을 사용하는 것처럼 작동하지만 몇 가지 추가 단계가 있습니다.
먼저
/fontsfolder
내부에 /publicfolder
를 만들고 사용하려는 모든 글꼴( .eot, .woff, .woff2, .ttf )을 추가해야 합니다. 그런 다음 이러한 글꼴 파일( /public/fonts/fonts.css
)과 동일한 폴더에 CSS 파일을 만듭니다.font.css가 생성되면
@font-facelike
를 사용하여 글꼴을 가져올 수 있습니다.// fonts.css
@font-face {
font-family: 'your-font';
src: url('your-font.eot');
src: url('your-font.eot?#iefix') format('embedded-opentype'),
url('your-font.woff2') format('woff2'),
url('your-font.woff') format('woff'),
url('your-font.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
...
...
일반적인 웹 빌드에서는
<head>
태그를 사용하여 HTML 파일에 이 fonts.css 파일을 링크하지만 Nextjs에서는 다음과 같이 _document.js
에 추가해야 합니다.// _document.js
export default class MyDocument extends Document {
render() {
return (
<Html lang="en">
<Head>
<meta name="theme-color" content={theme.palette.primary.main} />
<link rel="stylesheet" href="/fonts/fonts.css" />
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
}
일반적으로
_document.js
파일은 /pages
폴더 아래에 있습니다.완료되면 이동하는 것이 좋습니다! CSS에서 글꼴 패밀리를 참조하기만 하면 됩니다.
의견: 더 효율적으로
일을 더 효율적이고 유연하게 하기 위해 저는 페이지 데이터에 대한 상수 파일을 만들고 필요에 따라 가져오는 것을 좋아합니다. 이렇게 하면 각 파일에 들어가지 않고도 데이터를 업데이트/변경할 수 있습니다. 다음은 글꼴 상수 파일의 예입니다.
// constant/fonts.js
export const MAIN_REGULAR = 'your-font-regular'
export const MAIN_BOLD = 'your-font-bold'
export const SECONDARY_REGULAR = 'your-secondary-font-regular'
그런 다음 프로젝트에서(CSS-in-JS를 사용한다고 가정하고 아래는 Material-UI를 사용한 예입니다), 다음과 같이 사용합니다.
// SomeComponent.js
import { makeStyles } from '@material-ui/core/styles'
import * as Font from '../../../constant/fonts'
const useStyles = makeStyles((theme) => ({
text: {
fontFamily: Font.MAIN_REGULAR,
fontSize: '32px',
},
...
...
}))
그게 다야! URL, 테마 색상 등과 같은 다른 모든 데이터로 이 작업을 수행할 수 있습니다.
이 정보가 도움이 되길 바랍니다. :)
방금 읽은 내용이 마음에 들면 공유해 주세요. 고맙습니다!
Reference
이 문제에 관하여(Nextjs에서 자체 호스팅 글꼴을 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hoshikitsunoda/how-to-use-self-hosted-fonts-in-nextjs-nnl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)