Я пытаюсь импортировать шрифты из локального ресурса в моем реактивном проекте, который использует веб-пакет и стилизованные компоненты. У меня есть папка шрифтов со следующим кодом:
import { css } from 'styled-components';
import { fontWeight } from './vars';
export const fontFaces = css`
@font-face {
font-family: 'OurFont';
src: url('/resources/fonts/OurFont-Bold.woff2') format('woff2');
font-weight: ${fontWeight.bold};
font-style: normal;
}
`;
тогда у меня есть глобальный файл стилей с:
import { createGlobalStyle } from 'styled-components';
import { fontFaces } from './fonts';
export const GlobalStyles = createGlobalStyle`
${fontFaces}
`;
В своем компоненте приложения я использую ThemeProvider из таких стилевых компонентов (для краткости здесь опущен некоторый код, не относящийся к делу):
import { ThemeProvider } from 'styled-components';
class App extends React.Component {
render() {
return (
<ThemeProvider theme={{ theme }}>
<GlobalStyles />
<AppHeader />
<AppNavigator />
</ThemeProvider>
);
}}
и соответствующий код из веб-пакета:
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
use: ['babel-loader'],
},
{
test: /\.(eot|svg|ttf|woff|woff2|otf)$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name].[ext]',
limit: 10000,
mimetype: 'application/font-woff',
},
},
],
},
Я попытался следовать совету из этого потока , но, похоже, он не работает для меня, поскольку я получаю сообщение об ошибке в консоли, в котором говорится: GET http://localhost:5001/resources/fonts/OurFont-Bold.woff2 net :: ERR_ABORTED 404 (Не Found).
Кто-нибудь знает, что я делаю неправильно или есть другой подход?
Спасибо!