gpt4 book ai didi

favicon - 如何将 favicon 添加到 Next.js 静态站点?

转载 作者:行者123 更新时间:2023-12-03 07:29:18 112 4
gpt4 key购买 nike

我正在尝试将 favicon 添加到 Next.js 静态站点,但运气不佳。

我尝试使用 'next/document' 中的组件自定义文档
https://nextjs.org/docs/#custom-document

favicon.ico 文件的直接链接不起作用,因为该文件未包含在构建中,并且 href 未更新为 /_next/static/...
导入图像并添加到链接的 href 也不起作用(请参阅注释掉的行)。

import React from 'react';
import Document, { Html, Head, Main, NextScript } from 'next/document';

// import favicon from '../data/imageExports';

export default class MyDocument extends Document {
static async getInitialProps(ctx) {
const initialProps = await Document.getInitialProps(ctx);
return { ...initialProps };
}

render() {
return (
<Html>
<Head>
{/* <link rel="shortcut icon" href={favicon} /> */}
<link rel="shortcut icon" href="../images/icons/favicon.ico" />
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}

网站图标链接被添加,但它不显示。 我希望它在我导入文件时能够工作,但它只是添加了一个 <link rel="shortcut icon" href="[object Object]">关联。

有人做过吗?

最佳答案

  • 创建 /static项目根目录中的文件夹。这将被添加到静态导出文件夹中。
  • /static 中添加网站图标文件文件夹。
  • 添加 _document.js/pages/根据 documentation (nextjs.org) 的文件夹或 documentation (github.com) .
  • 添加 <link rel="shortcut icon" href="/static/favicon.ico" />头。
  • npm run build && npm run export

  • 附言感谢 previous answer那被删除了。有用!

    编辑:另一种方法是将 Head 导入您的根布局并在那里添加链接。添加到 Head 的任何内容都会插入到文档的 head 标签中。

    import Head from 'next/head';

    const Page = (props) => (
    <div>
    <Head>
    <link rel="shortcut icon" href="/static/favicon.ico" />
    </Head>
    // Other layout/components
    </div>
    );

    export default Page;

    更新:

    已弃用静态目录,取而代之的是公共(public)目录。 Doc

    所以,代码现在看起来像

    import Head from 'next/head';

    const Page = (props) => (
    <div>
    <Head>
    <link rel="shortcut icon" href="/favicon.ico" />
    </Head>
    // Other layout/components
    </div>
    );

    关于favicon - 如何将 favicon 添加到 Next.js 静态站点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56213019/

    112 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com