问题是:我添加了自定义字体,但它们不显示在我的应用程序
Web控制台:* “加载资源失败:net::ERR_FILE_NOT_FOUND”*
终端控制台:- 没什么-
我的文件结构:
main.js
index.html
| css |
> ... all css files
| resources |
> | fonts |
> > ... all fonts are here
字符串
**我在哪里引用字体?**在'config.css'文件中,看:
@font-face {
font-family: 'nexusBody';
src: url('../resources/fonts/DidactGothic-Regular.ttf');
}
@font-face {
font-family: 'nexusCapiters';
src: url('../resources/fonts/OdibeeSans-Regular.ttf');
}
型
是的,字体的名字是正确的!
**如何添加css文件?**在'index.html'文件中带有'link'标签
<head>
<link rel="stylesheet" href="css/config.css">
</head>
型
我哪里做错了?
我试着把app.setPath('resources', path.join(__dirname, 'resources'));
放在我的'main.js'文件中,但是当我这样做的时候,终端控制台说:
UnhandledPromiseRejection警告:错误:无法在C:...\main.js:49:9设置路径
(Use electron --trace-warnings ...
显示创建警告的位置)(节点:7960)UnhandledPromiseRejectionWarning:未处理的promise拒绝。这个错误可能是由于在没有catch块的async函数内部抛出,或者是由于拒绝了一个没有用.catch()处理的promise。要在未处理的promise拒绝时终止节点进程,请使用CLI标志--unhandled-rejections=strict
(参见https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝ID:第一章
在main.js 49:9中找到了代码行app.setPath('resources', path.join(__dirname, 'resources');
,但由于它不起作用,我删除了它。
编辑1:
如果我移动字体文件到css目录(相同级别的css文件)和固定的URL引用,作品,但如果我的水平和添加“../”不工作(应该是作品),关于组织我不喜欢的想法,我需要使作品的字体和cascate在不同的目录,同时这. fonts in css folder >D
2条答案
按热度按时间hlswsv351#
什么是Electron版本?当我将一个项目从Vue 2更新到Vue 3时,我遇到了同样的问题,解决方案是将我的静态资源放在根目录的'public'文件夹中。根据版本的不同,可以更改在应用程序中定位资源的模式。
vpfxa7rd2#
在这种情况下,我认为您可以尝试使用format()参数来指定您正在使用的字体类型,如TTF或OTF。以你的代码为例:
字符串
我想这可能是问题所在!