无法找到自定义字体文件[ELECTRON]

oipij1gg  于 2023-08-01  发布在  Electron
关注(0)|答案(2)|浏览(176)

问题是:我添加了自定义字体,但它们不显示在我的应用程序
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

hlswsv35

hlswsv351#

什么是Electron版本?当我将一个项目从Vue 2更新到Vue 3时,我遇到了同样的问题,解决方案是将我的静态资源放在根目录的'public'文件夹中。根据版本的不同,可以更改在应用程序中定位资源的模式。

vpfxa7rd

vpfxa7rd2#

在这种情况下,我认为您可以尝试使用format()参数来指定您正在使用的字体类型,如TTF或OTF。以你的代码为例:

@font-face {
    font-family: 'nexusBody';
    src: url('../resources/fonts/DidactGothic-Regular.ttf') format(truetype);
}

@font-face {
    font-family: 'nexusCapiters';
    src: url('../resources/fonts/OdibeeSans-Regular.ttf') format(truetype);
}

字符串
我想这可能是问题所在!

相关问题