Gatsby 将 lang 属性设置为 html

问题描述 投票:0回答:5

你会怎么做?修改公共文件夹似乎不起作用...自己构建并托管它是怎样的?也许有一个我还不知道的功能。如有任何帮助,我们将不胜感激。

html gatsby lang
5个回答
36
投票

Gatsby 建议为此使用 react 头盔。如果您查看 Gatsby 文档 - 如何添加元数据,您可以找到许多围绕此主题的最佳实践。

按照文档中的分步指南进行操作。 React头盔确实很强大。回到你的问题,这就是改变 HTML 语言属性的方法:

<Helmet
  htmlAttributes={{
    lang: 'en',
  }}
/>


8
投票

根据 新的 Head Api 文档(在

[email protected]
中添加),您可以使用
Helmet
函数避免
gatsby-ssr.js
依赖项,包括在
gatsby-ssr.ts
setHtmlAttributes
文件内。

exports.onRenderBody = ({ setHtmlAttributes }) => {
  setHtmlAttributes({ lang: "en" })
}

3
投票

使用 Gatsby Head API 和 ES6:

Arthur Violy 的答案的替代方案
export const onRenderBody = ({ setHtmlAttributes }) => {
  setHtmlAttributes({ lang: "en" });
};

0
投票

只是 @Andre 的答案的一个插件,以防您想使用 Open Graph 协议属性,例如:

xmlns:og
xmlns:fb
... 只需用单引号将密钥括起来即可
'

<Helmet htmlAttributes={
    {
    lang: 'en',
    'xmlns:og': 'http://ogp.me/ns#',
    'xmlns:fb': 'http://ogp.me/ns/fb#'
    }
  }>

    <meta charSet="utf-8" />
    <meta content="width=device-width, initial-scale=1.0" name="viewport" />
    ....
</Helmet>

0
投票

就放

<html lang='en'>

进入标题功能

© www.soinside.com 2019 - 2024. All rights reserved.