首页 > 解决方案 > 棱镜与 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,总是会再次发生),并且很难过

标签: reactjsgraphqlgatsbyprismic.io

解决方案


推荐阅读