Firebase字体访问权限错误求助:配置firebase.json仍无法访问字体
解决Firebase Hosting字体无法访问的问题
嘿,我之前也踩过Firebase Hosting字体加载失败的坑,看你的描述,应该是没给字体文件配置正确的HTTP响应头导致的——浏览器对字体资源的跨域和Content-Type要求挺严格的。我帮你一步步修复:
1. 补全并修正你的firebase.json配置
你贴的配置里rewrites部分没写完,而且关键的headers块也没放到正确位置(你提到复制了文档里的headers,但看起来没整合进配置里)。把你的hosting部分更新成下面这样:
{ "firestore": { "rules": "firestore.rules", "indexes": "firestore.indexes.json" }, "hosting": { "public": "build", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "rewrites": [ { "source": "**", "destination": "/index.html" } ], "headers": [ { "source": "**/*.{ttf,otf,woff,woff2,eot,svg}", "headers": [ { "key": "Access-Control-Allow-Origin", "value": "*" }, { "key": "Content-Type", "value": "font/{format}" } ] } ] } }
2. 关键配置细节说明
source字段匹配了所有常见的字体文件后缀,确保所有字体资源都能应用这些响应头Access-Control-Allow-Origin: *解决跨域加载问题(如果你的字体和页面同域名,其实可以设成self更安全,但*是最省心的测试方案)Content-Type要对应具体字体类型,比如.woff2用font/woff2,.ttf用font/ttf,嫌麻烦的话也可以用标准MIME类型比如application/font-woff2
3. 重新部署配置
改完配置后,一定要重新部署到Firebase才会生效:
firebase deploy --only hosting
4. 验证修复效果
部署完成后,打开浏览器开发者工具的网络标签,刷新页面后查看字体文件的响应头:
- 确认能看到
Access-Control-Allow-Origin字段 - 确认
Content-Type是正确的字体类型
要是还不行,就检查下字体文件的路径是不是写错了,或者有没有被ignore规则不小心排除掉~
内容的提问来源于stack exchange,提问作者Martavis P.
相关产品推荐
相关产品推荐

