服务图标 next.js

Serving favicon next.js

我正在使用样板 Next.js starter。在 index.js 中,express 应用程序的实例定义为 expressApp。我只是想使用 serve-favicon 来提供我的图标,但运气不好:

expressApp.use(favicon(path.join(__dirname, "static", "brand", "favicon.ico")));

检查了正在解析的路径,是正确的。 express 的 next.js 实施有何不同?

来自 serve-favicon 存储库:

Note This module is exclusively for serving the "default, implicit favicon", which is GET /favicon.ico. For additional vendor-specific icons that require HTML markup, additional middleware is required to serve the relevant files, for example serve-static.

因此,此包无法在另一条路径中提供网站图标,因为这需要添加标记。要解决此问题,请在 pages/_document.js 模板中添加一个 link 标签:

<Head>
  <link rel="icon" type="image/x-icon" href="/brand/favicon.ico" />
</Head>

同时将您的 serve-favicon 代码保存在 index.js 文件中:

expressApp.use(favicon(path.join(__dirname, "static", "brand", "favicon.ico")));