如何将 lang 属性添加到 Next.js 中的 html 标签?

Posted

技术标签:

【中文标题】如何将 lang 属性添加到 Next.js 中的 html 标签?【英文标题】:How to add lang attribute to html tag in Next.js? 【发布时间】:2021-06-17 00:39:20 【问题描述】:

在我的 Next.js 投资组合网站上运行一些性能检查后,我注意到主要的 index.html 缺少一个 lang 属性 - 该属性作为从可访问性分数中扣除的值返回。

我可以使用 i18n 设置将语言环境添加到 next.config.js,但这些功能与 next export 不兼容 - 该站点是静态生成的。

Error: i18n support is not compatible with next export. See here for more info on deploying: https://nextjs.org/docs/deployment

还有其他方法可以添加lang 属性吗?

【问题讨论】:

这不只是将lang 属性添加到<Html> 标记中的custom _document 的情况吗? @juliomalves 我会添加它,但我认为 NextJS 团队会默认包含 lang 值。我猜他们没有,因为他们无法知道每个项目的默认值。大多数官方文档建议为此使用internationalisation 功能,但根据我的帖子,next export 不支持这些功能。想添加这个作为答案吗?似乎最接近解决方案。 【参考方案1】:

您可以将lang 属性添加到custom _document 中的<Html> 标记。

import Document,  Html, Head, Main, NextScript  from 'next/document'

class MyDocument extends Document 
  render() 
    return (
      <Html lang="en">
        <Head />
        <body>
          <Main />
          <NextScript />
        </body>
      </Html>
    )
  


export default MyDocument

【讨论】:

就像本教程的第 11 步一样:dev.to/adrai/…

以上是关于如何将 lang 属性添加到 Next.js 中的 html 标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Font Awesome 添加到 Next.js 项目

如何使用 Next.js 将 PNG 徽标添加到 Tailwind CSS 导航栏?

如何将可拖动属性传递给 Next.js Image 组件中的 <img>?

如何将用户查询传递给 Next.js api?

如何在 Next.js 中添加自定义图像占位符?

如何在使用尾风 css 时在本地将谷歌字体添加到 Next.Js 项目