css - 使用 font-face 时出现 ERR_ABORTED 500 (Internal Server Error) 的原因是什么?
问题描述
我正在使用React、Node 和 Express开发一个全栈项目。我不确定堆栈是否与问题有关,尽管您可能会发现它与问题有关。
事实 #1:
使用 fon-face,我尝试托管一些所需的字体并在项目中使用它们。例如,
@font-face {
font-family: Montserrat-Black;
src: url(/src/resource/font/montserrat-black.ttf);
}
事实 #2:
我将font-face放在index.css中,将上面提到的css文件导入到index.js中。你应该知道,使用 React,最终所有组件都加载到 index.js 中。因此,所有组件和最终生成的 Dom-tree 都应该找到样式。
事实 #3:
此外,对于每个组件,我都创建了一个单独的 css 文件。因此,我的 menu-bar-title 组件有自己的 css 文件,其中包含相关样式。例如,menu-bar-title.css 包含以下几行。
#menuBarTitle{
font-family:Montserrat-Black;
}
事实 #4:
这就是上述组件的开发方式。
import React from 'react';
import './css/menu-bar-title.css'
export default class MenuBarTitle extends React.Component {
render() {
return (
<div id="menuBarTitle" className="absolute">
HELLO WORLD!
</div>
);
}
}
问题:
我的反应结构似乎一切顺利。组件按预期创建。但是,字体不起作用!当我检查时,控制台说:
GET http://localhost:3000/src/resource/font/montserrat-black.ttf net::ERR_ABORTED 500(内部服务器错误) index.js:1
这个错误告诉我css文件的流是ok的,因为它找到了相关的字体并试图从正确的目录加载它!然而,它不起作用!
您知道可能导致问题的原因吗?
谢谢你。
解决方案
我认为 react 无法从这个 src 加载字体: url(/src/resource/font/montserrat-black.ttf);
推荐阅读
- python - 如何将 .pyd 文件作为 python 模块导入?
- python - 匹配两个列表中总和相同的列表元素
- c++ - 通过指针在 C++ 中的 char 数组 [] 中小写大写字母
- python - 在 Visual Studio 2017 中运行 Python
- intellij-idea - Linux 系统上 IntelliJ 的 Lua SDK?
- android - EditText & Button 的声明位置
- sql - 仅当存在一对值时,Postgres 才对来自 json 的值求和
- android - 将 Android AlertDialog 嵌入 UI 而不是弹出窗口
- c - 从文件读取时如何忽略多个输入?
- node.js - Redis 和 docker-compose 连接 127.0.0.1:6379