以下是解決在Node.js中或使用像Next.js這樣的工具時可能出現的“referenceerror: document未定義”錯誤的方法。

document是瀏覽器提供的一個對象,它在服務器端JavaScript環境中無法使用。

我在我的廣泛的DOM Document Object Model指南中詳細描述了document對象。

特別是在Node.js中,沒有辦法解決這個問題 - 你必須找出使用document的具體位置,並重新檢查代碼以找出為什麼要訪問document對象。

您正在後端環境中運行前端代碼。

在Next.js中,您可以通過將代碼包裹在條件語句中來解決此問題。

該代碼可能在兩種情況下運行 - 前端,透過鏈接瀏覽頁面時,以及在服務器端將服務器端加入頁面中時,例如通過運行getServerSideProps()

在這種情況下,您可以將對document的引用限制為一個條件語句,檢查window對象是否可用,像這樣:

if (typeof window !== 'undefined') {
 //這裡`window`可用,所以`window.document`(或簡單地使用`document`)也可用
}

這將解決您的問題,因為您只在瀏覽器環境中運行條件語句內的任何代碼。