【问题标题】:"TypeError: window is not defined" when not even using the window object in Gatsby build甚至在 Gatsby 构建中不使用窗口对象时出现“TypeError:未定义窗口”
【发布时间】:2020-07-08 15:34:04
【问题描述】:

我正在尝试完成我的 gatsby 电子商务网站的构建过程。

通常,常见错误“未定义窗口”很容易调试,因为该错误还会输出位置和在服务器端呈现中引用窗口对象的代码。但对我来说唯一输出的是以下内容:

而且它没有给出错误发生位置的指示。 此外,在我的整个项目甚至 node_modules 中搜索关键字“window”不会返回任何内容!

我应该注意到所有代码都是通过 node_modules 导入的。我没有任何来自 CDN 或其他东西的导入。 如果甚至没有声明 windows 对象,还有什么可能引发此错误?

这是我的依赖项

"dependencies": {
    "@fortawesome/fontawesome-svg-core": "^1.2.29",
    "@fortawesome/free-solid-svg-icons": "^5.13.1",
    "@fortawesome/react-fontawesome": "^0.1.11",
    "@reduxjs/toolkit": "^1.4.0",
    "babel-plugin-graphql-js-client-transform": "^1.1.1",
    "core-js": "^3.6.5",
    "dotenv": "8.2.0",
    "gatsby": "2.23.3",
    "gatsby-image": "^2.4.9",
    "gatsby-plugin-env-variables": "1.0.2",
    "gatsby-plugin-express": "^1.1.6",
    "gatsby-plugin-postcss": "^2.3.9",
    "gatsby-plugin-react-helmet": "^3.3.6",
    "gatsby-plugin-sharp": "^2.6.14",
    "gatsby-source-filesystem": "^2.3.18",
    "gatsby-source-shopify": "3.2.11",
    "gatsby-transformer-sharp": "^2.5.7",
    "graphql-js-client": "^0.12.0",
    "graphql-js-schema": "^0.7.1",
    "postcss-cli": "^7.1.1",
    "postcss-import": "^12.0.1",
    "postcss-nested": "^4.2.1",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-redux": "^7.2.0",
    "redux": "^4.0.5",
    "redux-thunk": "^2.3.0",
    "shopify-buy": "^2.11.0"
  },

这真是令人沮丧。对可能导致此问题的任何见解都会对我有很大帮助。

【问题讨论】:

  • 你使用 redux 网络扩展吗?在 gatsby 中加载它可能会导致问题
  • 不,我所有的依赖项都在上面显示。我使用 redux 工具包,但我没有看到其他人有这个问题。 :'(

标签: reactjs webpack react-redux gatsby redux-toolkit


【解决方案1】:

我发现了我的问题: 在安装组件之前,我使用了 gatsby 的 navigate 函数,如果用户未通过身份验证,则重定向用户。 Navigate 在后台使用窗口对象。我无法通过在我的node_modules 文件夹中搜索找到它是有道理的,因为它是全局安装的。 我通过尝试进行最小限度的复制找到了它。当我添加具有navigate 的页面时,构建失败,但这一次,它向我展示了导致错误的确切原因!我仍然不知道为什么我的实际项目没有输出详细错误。

我想这里的真正问题是缺少详细的错误输出,我无法重新创建它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    相关资源
    最近更新 更多