你会怎么做?修改公共文件夹似乎不起作用...自己构建并托管它是怎样的?也许有一个我还不知道的功能。如有任何帮助,我们将不胜感激。
Gatsby 建议为此使用 react 头盔。如果您查看 Gatsby 文档 - 如何添加元数据,您可以找到许多围绕此主题的最佳实践。
按照文档中的分步指南进行操作。 React头盔确实很强大。回到你的问题,这就是改变 HTML 语言属性的方法:
<Helmet
htmlAttributes={{
lang: 'en',
}}
/>
根据 新的 Head Api 文档(在
[email protected]
中添加),您可以使用 Helmet
函数避免 gatsby-ssr.js
依赖项,包括在 gatsby-ssr.ts
或 setHtmlAttributes
文件内。
exports.onRenderBody = ({ setHtmlAttributes }) => {
setHtmlAttributes({ lang: "en" })
}
使用 Gatsby Head API 和 ES6:
Arthur Violy 的答案的替代方案export const onRenderBody = ({ setHtmlAttributes }) => {
setHtmlAttributes({ lang: "en" });
};
只是 @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>
就放
<html lang='en'>
进入标题功能