自定义字体已加载但未在 React TypeScript 中应用
custom font is loaded but not applying in react typescript
我正在开发 React TypeScript 项目并尝试加载自定义字体。
但我可以看到字体已加载到“网络”选项卡中,但字体仍未更改为我想要的。
我在 Whosebug 中尝试了很多相关的 post 但还是一样。
我最后做的是 this link。
这是我为字体添加的当前代码。
assets/fonts/globalfonts.ts
import { url } from 'inspector';
import {createGlobalStyle} from 'styled-components';
export const GlobalFonts = createGlobalStyle`
@font-face {
font-family: 'Trixie Plain';
font-style: normal;
font-weight: 400;
src: url("./assets/fonts/Trixie-Plain.otf") format('opentype')
}
`
src/components/TopBar/components/Nav.tsx
import React from 'react'
import { NavLink } from 'react-router-dom'
import styled from 'styled-components'
import { GlobalFonts } from '../../../assets/fonts/globalfonts'
const Nav: React.FC = () => {
return (
<StyledNav>
<GlobalFonts />
<StyledLink exact activeClassName="active" to="/">
Home
</StyledLink>
</StyledNav>
)
}
const StyledNav = styled.nav`
align-items: center;
display: flex;
font-family: 'Trixie Plain';
`
[
您可以尝试如下更改全局字体吗?
export const GlobalFonts = createGlobalStyle`
@font-face {
font-family: TrixiePlain;
// rest of declaration
}
`
注意上面没有 space/quotes 的字体系列值。因此,在样式组件中:
const StyledNav = styled.nav`
align-items: center;
display: flex;
font-family: TrixiePlain;
`
你需要定义一个声明文件d.ts
https://dev.to/anteronunes/comment/171a3
您尝试过在 webpack 中创建规则吗?
module.exports = {
module: {
rules: [
{
test: /\.(woff2|woff|eot|ttf|otf)$/,
use: ["file-loader"],
},
],
},
}
检查您是否安装了文件加载器。
npm i -D 文件加载器
我正在开发 React TypeScript 项目并尝试加载自定义字体。 但我可以看到字体已加载到“网络”选项卡中,但字体仍未更改为我想要的。 我在 Whosebug 中尝试了很多相关的 post 但还是一样。 我最后做的是 this link。 这是我为字体添加的当前代码。
assets/fonts/globalfonts.ts
import { url } from 'inspector';
import {createGlobalStyle} from 'styled-components';
export const GlobalFonts = createGlobalStyle`
@font-face {
font-family: 'Trixie Plain';
font-style: normal;
font-weight: 400;
src: url("./assets/fonts/Trixie-Plain.otf") format('opentype')
}
`
src/components/TopBar/components/Nav.tsx
import React from 'react'
import { NavLink } from 'react-router-dom'
import styled from 'styled-components'
import { GlobalFonts } from '../../../assets/fonts/globalfonts'
const Nav: React.FC = () => {
return (
<StyledNav>
<GlobalFonts />
<StyledLink exact activeClassName="active" to="/">
Home
</StyledLink>
</StyledNav>
)
}
const StyledNav = styled.nav`
align-items: center;
display: flex;
font-family: 'Trixie Plain';
`
[
您可以尝试如下更改全局字体吗?
export const GlobalFonts = createGlobalStyle`
@font-face {
font-family: TrixiePlain;
// rest of declaration
}
`
注意上面没有 space/quotes 的字体系列值。因此,在样式组件中:
const StyledNav = styled.nav`
align-items: center;
display: flex;
font-family: TrixiePlain;
`
你需要定义一个声明文件d.ts https://dev.to/anteronunes/comment/171a3
您尝试过在 webpack 中创建规则吗?
module.exports = {
module: {
rules: [
{
test: /\.(woff2|woff|eot|ttf|otf)$/,
use: ["file-loader"],
},
],
},
}
检查您是否安装了文件加载器。
npm i -D 文件加载器