警告:缺少下一个人数
Warning: next-head-count is missing
我正在使用来自 Next documentation. 的自定义 _document.js 结果,我不断收到打印到控制台的警告消息。我试图重新启动我的服务器并清空浏览器的缓存。我的 _document.js 应该在 "pages" 文件夹中。我通过向我的 <Head>
添加一些标签并检查我的网站以查看标签是否被添加到 <Head>
来确保文件正在被读取。 (我的网站运行正常,我只是厌倦了这条警告消息。)
控制台警告:
Warning: next-head-count is missing. https://err.sh/next.js/next-head-count-missing
这是我的 _document.js 文件:
import Document, { Html, Head, Main, NextScript } from 'next/document'
class MyDocument extends Document {
static async getInitialProps(ctx) {
const initialProps = await Document.getInitialProps(ctx)
return { ...initialProps }
}
render() {
return (
<Html>
<Head>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico" />
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
}
export default MyDocument
显然我在 index.html 中也有一个 <head>
标签。删除它后错误消失了。我的_document.js没有问题。我在 index.js 中的单独 <head>
中导入样式,这就是发生错误的原因。
解决方案:我将 <head>
内容从 index.js 移动到 _document.js 并从 index.js.
中删除了 <head>
标签
将不受支持的 html 标签添加到 <Head>
标签时,也会出现此错误。
在我的例子中,我不小心在组件的 <Head>...</Head>
标签内添加了一个 <p>...</p>
标签,这引发了这个错误。
在我的例子中,从 next/Document 导入的 Head 组件在自定义 _document 中,但它在 body 标签内,将其移动到 Html 组件内并固定在 body 标签外它。
// Incorrect
export default class MyDocument extends Document {
render (): JSX.Element {
return (
<Html>
<body>
<Head />
<Main />
<NextScript />
</body>
</Html>
);
}
}
// Correct
export default class MyDocument extends Document {
render (): JSX.Element {
return (
<Html>
<Head />
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}
在我的案例中,“将 HTML 转换为 JSX”vscode 扩展在 next/head 组件中添加了包装器 div 标记。我删除了 div 标签,警告消失了。
在我的例子中,next 的 Head 组件中有一个不正确的 html 标签。这个错误90%的意思是Head里面的内容有问题。尝试将 Head 中的元素一个一个地删除,您将找到导致问题的原因。
对我来说,我在 <Head>
中有一个自定义组件 <MobileView>
。
所以改变它就成功了。
我有同样的问题,它与 <Head>
标签内的 <html lang="en" />
有关。
我正在使用来自 Next documentation. 的自定义 _document.js 结果,我不断收到打印到控制台的警告消息。我试图重新启动我的服务器并清空浏览器的缓存。我的 _document.js 应该在 "pages" 文件夹中。我通过向我的 <Head>
添加一些标签并检查我的网站以查看标签是否被添加到 <Head>
来确保文件正在被读取。 (我的网站运行正常,我只是厌倦了这条警告消息。)
控制台警告:
Warning: next-head-count is missing. https://err.sh/next.js/next-head-count-missing
这是我的 _document.js 文件:
import Document, { Html, Head, Main, NextScript } from 'next/document'
class MyDocument extends Document {
static async getInitialProps(ctx) {
const initialProps = await Document.getInitialProps(ctx)
return { ...initialProps }
}
render() {
return (
<Html>
<Head>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico" />
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
}
export default MyDocument
显然我在 index.html 中也有一个 <head>
标签。删除它后错误消失了。我的_document.js没有问题。我在 index.js 中的单独 <head>
中导入样式,这就是发生错误的原因。
解决方案:我将 <head>
内容从 index.js 移动到 _document.js 并从 index.js.
<head>
标签
将不受支持的 html 标签添加到 <Head>
标签时,也会出现此错误。
在我的例子中,我不小心在组件的 <Head>...</Head>
标签内添加了一个 <p>...</p>
标签,这引发了这个错误。
在我的例子中,从 next/Document 导入的 Head 组件在自定义 _document 中,但它在 body 标签内,将其移动到 Html 组件内并固定在 body 标签外它。
// Incorrect
export default class MyDocument extends Document {
render (): JSX.Element {
return (
<Html>
<body>
<Head />
<Main />
<NextScript />
</body>
</Html>
);
}
}
// Correct
export default class MyDocument extends Document {
render (): JSX.Element {
return (
<Html>
<Head />
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}
在我的案例中,“将 HTML 转换为 JSX”vscode 扩展在 next/head 组件中添加了包装器 div 标记。我删除了 div 标签,警告消失了。
在我的例子中,next 的 Head 组件中有一个不正确的 html 标签。这个错误90%的意思是Head里面的内容有问题。尝试将 Head 中的元素一个一个地删除,您将找到导致问题的原因。
对我来说,我在 <Head>
中有一个自定义组件 <MobileView>
。
所以改变它就成功了。
我有同样的问题,它与 <Head>
标签内的 <html lang="en" />
有关。