uniapp中nvue页面如何导入自己自定义字体(weex的方式)

从官方文档中可以看到,nvue页面不能使用css导入字体 官方文档

也不能使用uni.loadFontFace加载

 只能使用原生weex的方式进行导入官方addRule文档,使用uniapp内置的也会有很多坑怎么都导入不成功,至少是我导入不成功

 以下都是使用weex的方式进行导入

导入网络字体:

beforeCreate() {
    //获取字体
	const domModule = weex.requireModule('dom')
	domModule.addRule('fontFace', {
		'fontFamily': "hyx",
		'src': "url('http://192.168.0.103:8010/changefile/downloadFile?file=HanYingXiu.ttf')"
			});
    //注意:如何使用本地的接口需要把loaclhost替换成IP地址,否则他会自己帮你转成0.0.0.0的IP地址,就会寻找不到地址
    //后端只需要返回二进制流下载文件形式即可
}

在css中使用
<style>
    .text{
        font-family:hyx;
/* 这里不能使用双引号或者引号括起来,否则使用不成功(引号括起来默认选择的是以css方式导入) */
    }
</style>

导入项目中的地址:

在导入项目中的之前需要使用plus.io.convertLocalFileSystemURL("static/font/HuaWenKaiTi.ttf")获取到文件的绝对路径

 

    

plus.io.convertLocalFileSystemURL()会直接获取到项目根路径
输出为:/storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/www/
plus.io.convertLocalFileSystemURL("static/font/HuaWenKaiTi.ttf")
输出完整路径:/storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/www/static/font/HuaWenKaiTi.ttf


domModule.addRule('fontFace', {
	'fontFamily': "hwxk",
	'src': "url('file:/"+ plus.io.convertLocalFileSystemURL("static/font/HuaWenKaiTi.ttf") +"')"
			});

使用方式跟网络字体的没有区别

//注意:url中的值需要进行字符串的拼接的
"url('file:/"+ plus.io.convertLocalFileSystemURL("static/font/HuaWenKaiTi.ttf") +')"
在最后面的一个单引号中没有使用双引号括起来。不能够获取到字体
下面这个是正确的
"url('file:/" + plus.io.convertLocalFileSystemURL("static/font/HuaWenKaiTi.ttf") + "')"

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值