最近在把一个老React项目改造为Nextjs,充分利用SSR优化SEO。改造过程中碰到原来引用的Iconfont图标报错:Switched to client rendering because the server rendering errored: window is not defined.
原来是之前引入的iconfont.js中的window不支持服务端渲染。一阵捣鼓后终于解决了。Iconfont提供三种icon使用方式,我这里通过Font class的方式使用,既能通过className指定图标,也能保证图标的彩色。具体步骤如下。
第一步:项目设置中的字体格式勾选彩色
第二步:将相关文件下载至本地
第三步:将文件复制到自己的项目
复制以下四个文件即可,其他都不需要
第四步:在代码中使用icon
import "../iconfont/iconfont.css"; //引入css文件
<span className="icon iconfont icon-qiandai"></span> //通过className指定图标
最后打个小广告,这个问题是我捣鼓副业的时候碰到的,是一个远程工作聚合网站,想要找远程工作的小伙伴可以进来瞅一眼:轻松游牧