我希望添加多个浏览器特定的favicon,但我得到ts(1117)声明“一个对象文字不能有多个同名的属性。”
我理解这一点,但是类型接口也不允许我命名“icon”任何其他名称。例如,“apple-touch-icon:'或' icon 2 '不起作用。
另外,如果我直接在next/static/metadata文件夹中放置一个favicon,它在我的浏览器中测试时可以正常工作并显示,而不需要在代码中显式声明...
这是使用动态元数据的情况吗?我应该使用条件逻辑来根据所识别的设备进行渲染吗?我觉得这会使它过于复杂!很抱歉我对Web开发缺乏了解,因为我是新手。
另外,是否有任何方法可以使用这个新的元数据API添加清单?我没有看到除'title:','说明:'和'图标:'.
下面是我的layout.tsx文件顶部的内容:
export const metadata = {
title: 'Welcome',
icons: {
// icon: "/_next/static/media/metadata/apple-touch-icon.png",
icon: "/_next/static/media/metadata/favicon-32x32.png",
// icon: "/_next/static/media/metadata/favicon-16x16.png",
},
// manifest: "/site.webmanifest",
}
;
1条答案
按热度按时间06odsfpq1#
您可以在返回图标之前检查用户设备和浏览器。以下是一个示例: