更新主题后所有图标同时消失,按钮位置只剩一个个空心方块,网络面板里 fontawesome-webfont.woff2 一直是 404,图片和正文却完全正常。日志里能对上时间点,这种反而好排。

样式表里的 @font-face 还指向旧版字体目录,主题升级把 fonts 文件夹改名成 assets/fonts,路径没跟着改,请求自然全部落空。这类问题只在换主题或者换构建产物之后出现。这一点先确认清楚,后面就不用反复试。

@font-face {
  font-family: 'iconfont';
  src: url('../fonts/iconfont.woff2') format('woff2'),
       url('../fonts/iconfont.woff') format('woff');
}

围绕「图标字体 404」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。

处理上按这个顺序:在网络面板按字体类型过滤 确认 404 的完整路径和实际目录差在哪一层;把 @font-face 的 src 改成当前目录的相对路径 同时保留 woff2 和 woff 两个来源;改完强刷一次页面 确认状态码从 404 变成 200 再看图标。

结果对不对很好判断,网络面板里字体请求全部返回 200,按钮上的图标恢复显示,不再出现方块占位。

作者 9823189