1

我正在尝试完成我的 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"
  },

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

4

1 回答 1

1

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

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

于 2020-07-08T21:23:47.140 回答