Azure DevOps自定义扩展图标字体加载失败问题求助
Azure DevOps扩展字体加载失败问题解决
先搞清楚错误本质
你看到的OTS parsing error: invalid sfntVersion: 1836016757,这个数字转成ASCII是PK..——这是ZIP文件的开头标识。说白了,你请求的woff2字体文件,服务器返回的根本不是字体,而是个ZIP包。线上生产环境是已经正确部署解压的,所以没问题,本地跑的时候资源服务出问题了。检查本地打包与资源配置
- 确认本地构建脚本有没有把字体文件正确复制到
dist目录,别不小心把它塞进ZIP压缩包里了。 - 打开
vss-extension.json,检查files配置,确保dist目录被设为可访问的静态资源,路径要和实际生成的文件位置对上。比如:"files": [ { "path": "dist", "addressable": true } ]
- 确认本地构建脚本有没有把字体文件正确复制到
排查本地开发服务器的资源映射
本地运行时,扩展开发服务器可能没正确路由静态资源,导致请求字体时返回了扩展的ZIP包本身。试试:- 删掉
dist、.vscode-extension这类临时缓存目录,重新构建再启动服务。 - 直接在浏览器里输入字体文件的本地URL,看看返回的是字体还是ZIP。如果是ZIP,就得调整开发服务器的资源路由规则。
- 删掉
核对文件名哈希
错误里的字体文件名带哈希94fb5f9747cd4dcd0331.woff2,看看本地构建生成的字体文件名哈希和这个是不是一致。如果不一样,说明构建脚本的哈希计算逻辑有问题,或者缓存没清,导致请求了不存在的文件,服务器返回了错误内容。临时测试验证
把线上正常的woff2字体下载到本地,替换dist目录里对应的文件,再启动本地服务试试。如果能正常加载,那就是本地构建过程中字体文件被损坏或者打包错了。
内容的提问来源于stack exchange,提问作者Matthew The Terrible
相关产品推荐
相关产品推荐

