next.js 如何在NextJS应用程序中跟踪“窗口未定义”错误?

lawou6xi  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(152)

我正在尝试将一个企业级应用程序(不能共享代码)从Create React App迁移到NextJS(使用TypeScript)。
我已经能够用Next Routes/Pages替换React Router,但每次尝试构建应用程序时都会遇到此错误消息:

Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
ReferenceError: window is not defined

我已经查看了代码,并且在窗口出现的每一处,都将代码 Package 在if检查(if(typeof window !== 'undefined'))中,但是我仍然得到这个错误。
关于如何最好地跟踪窗口引用并使它们符合NextJS,有什么建议吗?其他人经历过的任何“陷阱”吗?
我已经查看了代码,并且在窗口出现的每一处,都将代码 Package 在if检查(if(typeof window !== 'undefined'))中,但是我仍然得到这个错误。

dgsult0t

dgsult0t1#

如果您window.property在代码中的某个地方使用了www.example.com,则可能需要将这段代码放在useEffect挂钩内。

qyuhtwio

qyuhtwio2#

感谢@dylangrandmont帮助解决这个问题!
结果发现这个错误来自于一个依赖项react-leaflethttps://react-leaflet.js.org/)。
谢谢你的建议@dylangrandmont!

相关问题