微信小程序中使用字体图标,解决字体图标包过大的问题

这篇具有很好参考价值的文章主要介绍了微信小程序中使用字体图标,解决字体图标包过大的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

在微信小程序开发中,我们经常使用字体图标来美化界面和展示各种功能。然而,当我们的小程序主包大小超过2M时,可能会遇到一个问题:字体图标的文件很大,导致整个包的大小超出了限制。为了解决这个问题,我们可以使用wx.loadFontFace方法来远程加载字体图标。

步骤

步骤一:准备字体文件

首先,我们需要将字体图标文件上传到一个可访问的远程服务器上。确保字体文件是.ttf格式的,这是微信小程序所支持的格式之一。

步骤二:获取字体文件的网络地址

在远程服务器上,将字体文件上传后,我们需要获取该文件的网络地址(URL)。可以通过直接访问字体文件的链接,在浏览器中打开字体文件,然后复制地址栏中的URL即可。

步骤三:使用wx.loadFontFace加载字体文件

wx.loadFontFace
在小程序的代码中,找到需要使用字体图标的地方,然后使用wx.loadFontFace方法来加载字体文件。这样,当页面渲染时,字体文件将从远程服务器下载并应用到页面上。如果要全局使用,可以在app.js中加载

以下是一个示例代码:

wx.loadFontFace({
  family: 'my-iconfont',
  source: 'url("https://example.com/iconfont.ttf")',
  success: function(res) {
    console.log('字体加载成功');
  },
  fail: function(res) {
    console.error('字体加载失败', res);
  }
});

在上面的代码中,我们指定了一个自定义的字体名称(my-iconfont),并提供了远程字体文件的URL。当字体加载成功后,会在控制台输出一条成功的消息;如果出现问题,则会在控制台输出错误信息。

步骤四:在页面中使用字体图标

当字体加载成功后,我们可以在页面的样式文件中通过设置font-family属性来应用字体图标。例如:

.icon {
  font-family: 'my-iconfont';
}

然后,我们可以在小程序的页面中使用icon类来显示字体图标。例如:

<view class="icon"></view>

上述代码中的是一个字体图标的Unicode码点。

字体图标加载失败常见问题

动态加载网络字体,文件地址需为下载类型。2.10.0起支持全局生效,需在 app.js 中调用。

  1. 字体文件返回的 contet-type 参考 font,格式不正确时会解析失败。
  2. 字体链接必须是https(ios不支持http)
  3. 字体链接必须是同源下的,或开启了cors支持,小程序的域名是servicewechat.com
    工具里提示 Faild to load font可以忽略
  4. 2.10.0’以前仅在调用页面生效。

结论

通过使用wx.loadFontFace方法来远程加载字体图标,我们可以解决微信小程序主包大小超过2M限制的问题。这种方法简单易行,并且可以保持小程序的整体性能。希望本文对你有所帮助!自定义目录标题)文章来源地址https://www.toymoban.com/news/detail-522812.html

到了这里,关于微信小程序中使用字体图标,解决字体图标包过大的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序使用字体图标——链接引入

    目录 1.下载字体图标  1.选择需要的图标加入购物车添加到项目 2.查看项目  3.生成在线链接   4.复制生成的链接 等下放到iconfont.json中​编辑 2.引入链接 1.下载  2.生成iconfont.json文件 3. 在iconfont.json中 放入生成的链接 4.需要重新编译小程序之后在终端执行 5.在app.json中引入字

    2024年02月16日
    浏览(227)
  • 原生微信小程序中使用-阿里字体图标-详解

    1、打开阿里巴巴矢量图标库 网址:iconfont-阿里巴巴矢量图标库 2、搜索字体图标,鼠标悬浮点击添加入库  3、按如下步骤添加到自己的项目   进入微信开发者工具 1、创建 fonts文件夹 iconfont.wxss 文件,将刚才的代码复制进去 2、在 app.wxss文件 中引入路径 3、在页面中使用  

    2024年02月04日
    浏览(63)
  • 微信小程序开发系列(十三)·如何使用iconfont、微信小程序中如何使用字体图标

    目录 1.  如何使用iconfont 2.  微信小程序中如何使用字体图标 3.  背景图的使用         在项目中使用到的小图标,一般由公司设计师进行设计,设计好以后上传到阿里巴巴矢量图标库,然后方便程序员来进行使用。         小程序中的字体图标使用方式与 Web 开发中

    2024年03月20日
    浏览(79)
  • uniapp开发小程序,包过大解决方案

    目前我所了解的包过大解决方案有。 1、小程序用字体图标,不引入静态图片。大部分都要后台转成动态图片渲染 2、利用分包,在项目开始做前就要思考哪些用作分包,免得后期更改麻烦 \\\"mp-weixin\\\": { \\\"optimization\\\":{\\\"subPackages\\\":true} } 优化分包: 在对应平台的配置(manifest.json)下添

    2024年02月10日
    浏览(56)
  • 关于uniapp开发h5,前端字体包过大的问题

    ui给的字体包足足23.52M,还让前端压缩,让人头大…… 我在网上找了好久,这篇文章比较靠谱,但是讲的并不仔细,文章链接: 第一步:下载安装压缩工具、没有问题 npm install -g font-spider ttc2ttf @hayes0724/web-font-converter 第二步:字体文件转换为ttf格式 # 源字体文件 otf 格式 ,注

    2024年01月21日
    浏览(90)
  • 微信小程序(十二)在线图标与字体的获取与引入

    注释很详细,直接上代码 上一篇 新增内容: 1.从IconFont获取图标与文字的样式链接 2.将在线图标配置进页面中(源码) 3.将字体配置进页面文字中(源码) 4.css样式的多文件导入 获取链接 1.获取图标链接 登入IconFont 点击跳转 温馨提醒:之后生成的图标名会以这里设定的名字

    2024年01月24日
    浏览(54)
  • 微信小程序包体积过大解决方法

    因为微信开发者工具提交需要整个项目大小不超过2M,超过2M则不能提交,会出现下面这个报错 解决方法: 1、在Hbuilder x上面勾选上运行时压缩代码  2、分包操作 在pages.json文件中设置以下内容:   配置在pages是主包 配置在subPackages里面的是分包 在pages文件夹里面写入登录、首

    2024年02月09日
    浏览(40)
  • 微信小程序:uniapp解决上传小程序体积过大的问题

    在昨天的工作中遇到了一个微信小程序上传代码过大的情况,在这里总结一下具体的解决步骤,首先介绍一下,技术栈是使用uniapp框架+HBuilderX的开发环境。 错误提示 真机调试,提示包提交过大,不能正常生成二维码,后续上传代码更是不可能了,减少包中的体积顺着这条思

    2024年02月03日
    浏览(63)
  • 原生微信小程序使用vant的tabbar(解决点击俩次图标才正确切换)

    一、声明:在导入使用vant (tabbar)组件的时候,发现通过点击切换的方法来更改active的方法,会出现图标没用及时对应上,需要第二次点击才对应上的问题。 先使用npm引入vant组件库 1.第一步:在资源管理器下方空白处选择”在外部终端窗口打开“ 2.第二步:使用命令初始

    2024年02月09日
    浏览(58)
  • 【小程序】使用font-awesome字体图标的解决方案(图文)

    (1)、在项目根目录下建立一个文件夹,命名随意,我的文件夹名称是js。 (2)、再新建一个文件font-awesome.wxss (3)、把下载解压后的font-awesome中的css文件中的font-awesome.css内容复制到font-awesome.wxss中 注意:从 红框往下(从.fa{) 的内容开始复制,红框内的内容不复制   

    2024年02月07日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包