未捕获(承诺)DOMException:Document.querySelector with Google Fonts Link in NextJS
Uncaught (in promise) DOMException: Document.querySelector with Google Fonts Link in NextJS
将 Next 应用程序部署到 Vercel 后,我收到以下错误代码:
Uncaught (in promise) DOMException: Document.querySelector: 'style[data-href="https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800;900&display=swap" rel="stylesheet"]' is not a valid selector
现在我在 NextJS 的白标签应用程序上通过 API 调用此 link。我目前有一个包装我的应用程序的布局组件,它在 _app.tsx.
上被调用
这个错误不会发生在我的本地 Next Server 上,只会出现在生产环境中,您可以在此处看到:
代码包裹在 Head 标签上,如下所示:
<Head>
<title>{course?.title}</title>
<meta name="description" content={course?.short_description} />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href={brand?.settings?.fonts?.font_link} rel="stylesheet" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
</Head>
有人遇到过这个问题吗?对正在发生的事情有什么想法吗?
您必须在自定义 _document.js 中使用 <link>
标签,就像在 docs 中一样。
// _document.js
import { Head } from 'next/document'
...
<Head>
<link rel="icon" href={brand?.logo} />
<link href={brand?.settings?.fonts?.font_link} rel="stylesheet" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
</Head>
...
将 Next 应用程序部署到 Vercel 后,我收到以下错误代码:
Uncaught (in promise) DOMException: Document.querySelector: 'style[data-href="https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800;900&display=swap" rel="stylesheet"]' is not a valid selector
现在我在 NextJS 的白标签应用程序上通过 API 调用此 link。我目前有一个包装我的应用程序的布局组件,它在 _app.tsx.
上被调用这个错误不会发生在我的本地 Next Server 上,只会出现在生产环境中,您可以在此处看到:
代码包裹在 Head 标签上,如下所示:
<Head>
<title>{course?.title}</title>
<meta name="description" content={course?.short_description} />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href={brand?.settings?.fonts?.font_link} rel="stylesheet" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
</Head>
有人遇到过这个问题吗?对正在发生的事情有什么想法吗?
您必须在自定义 _document.js 中使用 <link>
标签,就像在 docs 中一样。
// _document.js
import { Head } from 'next/document'
...
<Head>
<link rel="icon" href={brand?.logo} />
<link href={brand?.settings?.fonts?.font_link} rel="stylesheet" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
</Head>
...