我正在尝试将一个企业级应用程序(不能共享代码)从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')
)中,但是我仍然得到这个错误。
2条答案
按热度按时间dgsult0t1#
如果您window.property在代码中的某个地方使用了www.example.com,则可能需要将这段代码放在useEffect挂钩内。
qyuhtwio2#
感谢@dylangrandmont帮助解决这个问题!
结果发现这个错误来自于一个依赖项
react-leaflet
(https://react-leaflet.js.org/)。谢谢你的建议@dylangrandmont!