fonts - 在 NextJS 中导入字体
问题描述
我正在尝试在我的项目中导入字体,但出现错误:
./src/static/fonts/montserrat/Montserrat-Regular.ttf 1:0
Module parse failed: Unexpected character '' (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
(Source code omitted for this binary file)
fonts-loader.ts 文件:
import MontserratBold from '@static/fonts/montserrat/Montserrat-Bold.ttf'
import MontserratItalic from '@static/fonts/montserrat/Montserrat-Italic.ttf'
import MontserratLight from '@static/fonts/montserrat/Montserrat-Light.ttf'
import MontserratRegular from '@static/fonts/montserrat/Montserrat-Regular.ttf'
export default {
MontserratLight,
MontserratRegular,
MontserratItalic,
MontserratBold,
}
解决方案
让我建议你一个简单的方法。您可以在 CSS/SCSS 文件中导入字体。
然后你可以在你的项目中包含这个文件,无论你想要什么。
在 CSS/SCSS 文件中导入字体有两种方法:
@font-face {
font-family: "Montserrat-SemiBold";
src: url("static/assets/fonts/Montserrat-SemiBold.ttf");
}
或者
@import url("https://fonts.googleapis.com/css?family=Lato");
现在你可以简单地用Head导入这个文件
您的屏幕文件:
import React from "react";
import Head from "next/head";
const ComponentName = () => {
return (
<Head>
<link href="/static/assets/css/component-name.scss" rel="stylesheet" />
</Head>
...
);
};
推荐阅读
- postgresql - 用 for 选择不同并插入 plpgsql 函数
- c++ - Visual Studio 2017 - 通过命令行和 MSBuild 构建 - 缺少 stdafx.h
- prolog - 了解成员函数的工作原理
- angularjs - 我正在自动化一个角度注册表单,我有一个下拉框,其 id 是 span 以及如何根据用户输入选择选项
- postgresql - 在 PostgreSQL 中将 Julian 日期转换为时间戳
- java - 是否可以通过点表示法将一系列值流式传输/映射到一个结果中?
- postgresql - Postgres 查询不会在功能中完成,但如果单独运行它可以工作
- c# - 按字母顺序对 Linq 结果进行排序
- date - TYPO3,流体模板。如果今天的日期在 05/01 和 10/01 之间,则显示一个 div
- python - Python-docx 无法使用现有文档 - 没有名称为“标题”的样式