React中为<Helmet/>添加favicon报错,求正确实现方法
如何在React Helmet中正确添加Favicon
嘿,我来帮你搞定这个「意外令牌」的问题~
你遇到的错误根源是**links属性的语法写错了**:React Helmet的links需要接收一个对象数组,而不是单个对象,而且你写的对象属性(比如rel、type)没有加引号,这直接导致了语法解析失败。
正确的写法示例
首先修正语法,同时注意favicon的格式匹配:
<Helmet title="ABC" meta={[ { name: "description", content: "ABC" } ]} links={[ { rel: 'icon', type: 'image/x-icon', // ico格式用这个类型更准确,如果是png就用image/png sizes: '16x16', href: require('./favicon.ico').default // webpack环境下可能需要加.default,或者直接用public路径 } ]} />
额外的实用提示
- 如果你的favicon放在项目的
public目录下(Create React App默认的静态资源目录),可以直接用绝对路径,不需要require,写法更简洁:<Helmet title="ABC" meta={[ { name: "description", content: "ABC" } ]} links={[ { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } ]} /> - 要确保文件名和类型匹配:如果是
.png格式的图标,type要改成'image/png',同时文件名对应改成favicon.png。
内容的提问来源于stack exchange,提问作者UWGOOSE
相关产品推荐
相关产品推荐

