Nuke提供了iconfont API,方便开发者设置 iconfont,但由于网络加载等原因,首次加载的 Iconfont 可能要在下次进入插件才能生效。
在千牛 QAP 应用内,为了避免这个问题,你可以把用到的 Iconfont 做内置。
假设你使用的 Icon 来自 iconfont.cn , 其远程地址为:https://at.alicdn.com/t/font_1474198576_7440977.ttf?version=1.0
Iconfont({name:"iconfont1",url:"https://at.alicdn.com/t/font_1474198576_7440977.ttf?version=1.0"})
则内置方案如下:
打开 qap.json
文件,添加 iconfonts 字段
{ "appKey":"...","version":"1.0", "pages":[... ], "iconfonts":[ { "localpath":"font_1474198576_7440977.ttf", "url":"http://at.alicdn.com/t/font_1474198576_7440977.ttf" } ] }
其中 localpath 为可选属性,推荐该字段的值和url中的名字保持一致,如上面的代码所示。
在 qap 工程的目录下新建 iconfont 目录,把文件下载到此目录,并且命名为font_1474198576_7440977.ttf
。
经过上述步骤后,再执行打包命令,打出的 zip 包就会包含字体文件,在安装到千牛客户端时会放置到缓存目录,加速 iconfont 的显示。