reactjs - 棱镜与 Gatsby 的集成导致构建中未定义窗口
问题描述
我正在使用“gatsby-source-prismic-graphql”将 Prismic 存储库与现有的 Gatsby 项目集成,但我发现在window
构建站点时该对象未定义。问题与 Gatsby 的 SSR 在构建期间生成静态文件时引起的问题不同(尽管可能相关?)(https://www.gatsbyjs.org/docs/debugging-html-builds/)。
我正在使用typeof window !== 'undefined' ...
Gatsby 推荐的安全检查(即),并且构建没有问题,但问题仍然存在 - 即,在本地工作正常的 eventListener 在构建本身中没有响应。在集成到 gatsby-config.js 之前,我在测试过的构建中正确定义了 window 对象gatsby-source-prismic-graphql
,但在我集成它后立即未定义。
有任何想法吗?我已经在多个新项目中重现了这种行为(一旦在配置中添加了 'gatsby-source-prismic-graphql'/a Prismic repo,总是会再次发生),并且很难过
解决方案
推荐阅读
- hugo - 如何在 Hugo/Pygments 中使用“long”类名
- javascript - chrome 扩展中的 cookie
- azure - 使用 Azure 托管服务标识扩展应用服务计划,但未列出
- linux - 为什么 tty 和 ttyS 字符设备具有相同的主设备号?
- reactjs - React start npm 不起作用 - 发生错误事件
- java - 线程“主”java.lang.OutOfMemoryError 中的异常:在 http 调用期间无法创建新的本机线程
- java - 无法迁移 android sqllite 数据库
- angular - 使用不同的数据多次加载动态组件
- java - Java - 从剪贴板检索图像 - 左右裁剪图像
- css - 无法解析“../pages”中的“.file.scss”