0

0

uniapp打包后字体图标不显示怎么办

PHPz

PHPz

发布时间:2023-04-18 09:47:07

|

2454人浏览过

|

来源于php中文网

原创

近年来,随着前端技术的不断发展,字体图标作为一种轻量级的图标解决方案,被广泛应用于web端和移动端的设计中。在使用uniapp开发移动端应用时,我们也可以方便地使用字体图标,但是经常会出现字体图标在打包后无法正常显示的问题。今天,我们将一起探讨uniapp打包后字体图标不显示的原因和解决方法。

原因分析

1. 字体文件未加载成功

首先,我们需要了解uniapp打包后会生成一个dist目录,该目录下的内容即为我们最终发布的应用,包括各种资源文件和HTML文件等。当我们使用字体图标时,其实是在HTML文件中使用了CSS样式,将数据源设为字体图标的字体文件,因此问题可能出现在HTML文件或者字体文件上。

最常见的情况是字体文件未加载成功,导致字体图标无法显示。可以通过F12开发者工具查看控制台输出,如果存在404或network error并且字体文件是请求失败状态,那么就可以判定字体文件未加载成功。

2. 地址错误

另一种可能是我们引入字体的地址错误,因为uniapp中使用相对路径来引入资源文件,所以需要保证HTML文件和字体文件在同一文件夹下。如果出现了文件路径错误,也会导致字体图标无法正常显示。同样,通过控制台输出可以判定是否存在路径错误。

解决方法

1. 添加本地字体资源

如果字体文件未加载成功,我们可以尝试将字体文件添加到本地资源中,然后在HTML文件中使用本地相对路径来引用。

  1. 在项目根目录下新建一个fonts文件夹,将下载的字体文件解压到该文件夹中。
  2. 进入uni.scss文件,引入字体文件,如下所示:

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

    这里需要注意,@font-facefont-family 的名称需要和HTML中使用的字体名称保持一致。

  3. 在HTML文件中使用字体图标,如下所示:

    这里的uni-icon-wode是我们在字体文件中自定义的图标类名,而uni-icon是uni.scss中定义的基础类。

若通过此方法解决了字体图标无法显示的问题,那么恭喜你,问题已经得到了解决。但是,有时即使我们已经按照上述方法来处理,字体图标依然无法正常显示,这时就可以尝试下面的方法。

2. 使用cdn

有时我们会发现字体文件本地引用失败,那么我们可以考虑使用cdn来解决该问题。但是在使用cdn时,需要保证我们引入的cdn地址正确,并且由于cdn地址可能受到网络影响,所以最好提供多个备选方案。修改方式如下:

绘蛙
绘蛙

电商场景的AI创作平台,无需高薪聘请商拍和文案团队,使用绘蛙即可低成本、批量创作优质的商拍图、种草文案

下载
  1. manifest.json 文件中,添加字体文件的资源地址,如下所示:

    "networkTimeout": {
       "request": 5000,
       "downloadFile": 10000
    },
       "onDemandResourceRules": [
       {
          "host": "xxxxx.com",
          "files": [
             "/fonts/iconfont.ttf"
          ]
       }
    ],
    "preloadRule": {
       "async": [
          {"path": "xxxxx.com/fonts/iconfont.ttf"}
       ],
       "sync": [
       ]
    }

    其中xxxxx.com为我们指定cdn的域名。

  2. uni.scss 文件中使用cdn地址,如下所示:

    @font-face{
        font-family:'iconfont';
        src:url(//xxxxx.com/fonts/iconfont.ttf) format('truetype');
    }

    这里的// 表示使用了协议相同的相对路径,适用于http、https等。

  3. 在HTML文件中使用字体图标,如下所示:

    同样,这里的uni-icon-wode是我们在字体文件中自定义的图标类名。

需要注意的是,使用cdn也可能会遇到其他问题,比如连接不稳定、文件超过缓存限制等,所以需要多做测试和备份方案。

总的来说,在使用uniapp开发移动应用时,字体图标是一个很好的和轻量级的图标解决方案,但是由于打包后的复杂性和资源处理方式等问题,可能会出现字体图标无法正常显示的情况。以上两种方法可以帮助我们解决这些问题,让我们的应用更加美观实用。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号