首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:找不到模块“React error-overlay/中间件”

:找不到模块“React error-overlay/中间件”
EN

Stack Overflow用户
提问于 2019-02-18 16:25:32
回答 1查看 1.7K关注 0票数 0

这很令人沮丧。从昨天早上开始,我就一直在处理这个问题。我有一个反应申请,我已经有一年多没有启动了。上次我启动这个应用程序时运行得很好。但是,我想在本地处理它,并且在一年前运行良好时使用完全相同的package.json,但在浏览器中失败,错误消息如下:

代码语言:javascript
复制
TypeError: Cannot read property 'ReactCurrentOwner' of undefined

由于package.json有一年的历史,今天我运行npm更新,当我尝试运行该程序时,会收到以下错误:

代码语言:javascript
复制
Error: Cannot find module 'react-error-overlay/middleware'

旧package.json

代码语言:javascript
复制
{
  "name": "mazzo-react-test",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "auth0-lock": "^10.24.3",
    "autoprefixer": "7.1.2",
    "babel-core": "6.25.0",
    "babel-eslint": "7.2.3",
    "babel-jest": "20.0.3",
    "babel-loader": "7.1.1",
    "babel-preset-react-app": "^3.1.2",
    "babel-runtime": "6.23.0",
    "case-sensitive-paths-webpack-plugin": "2.1.1",
    "chalk": "^1.1.3",
    "css-loader": "0.28.4",
    "dotenv": "4.0.0",
    "eslint": "4.4.1",
    "eslint-config-react-app": "^2.1.0",
    "eslint-loader": "1.9.0",
    "eslint-plugin-flowtype": "2.35.0",
    "eslint-plugin-import": "2.7.0",
    "eslint-plugin-jsx-a11y": "5.1.1",
    "eslint-plugin-react": "7.1.0",
    "extract-text-webpack-plugin": "3.0.0",
    "file-loader": "0.11.2",
    "fs-extra": "3.0.1",
    "html-webpack-plugin": "2.29.0",
    "jest": "20.0.4",
    "konva": "^1.7.6",
    "material-ui": "^0.18.7",
    "object-assign": "4.1.1",
    "postcss-flexbugs-fixes": "3.2.0",
    "postcss-loader": "2.0.6",
    "promise": "8.0.1",
    "react": "^15.6.2",
    "react-dev-utils": "^3.1.3",
    "react-dom": "^15.6.2",
    "react-error-overlay": "^1.0.10",
    "react-konva": "^1.7.16",
    "react-relay": "0.10.0",
    "react-relay-network-layer": "1.3.9",
    "react-router": "3.0.2",
    "react-router-relay": "0.13.5",
    "react-tap-event-plugin": "^2.0.1",
    "relay-commit-mutation-promise": "^1.0.1",
    "style-loader": "0.18.2",
    "styled-components": "^2.4.1",
    "sw-precache-webpack-plugin": "0.11.4",
    "url-loader": "0.5.9",
    "webpack": "3.5.1",
    "webpack-dev-server": "2.7.1",
    "webpack-manifest-plugin": "1.2.1",
    "whatwg-fetch": "2.0.3"
  },
  "scripts": {
    "start": "node scripts/start.js",
    "build": "GRAPHQL_ENDPOINT=https://api.graph.cool/relay/v1/cj63i9kajpzhw0153segab1wa node scripts/build.js",
    "test": "node scripts/test.js --env=jsdom"
  },
  "jest": {
    "collectCoverageFrom": [
      "src/**/*.{js,jsx}"
    ],
    "setupFiles": [
      "<rootDir>/config/polyfills.js"
    ],
    "testMatch": [
      "<rootDir>/src/**/__tests__/**/*.js?(x)",
      "<rootDir>/src/**/?(*.)(spec|test).js?(x)"
    ],
    "testEnvironment": "node",
    "testURL": "http://localhost",
    "transform": {
      "^.+\\.(js|jsx)$": "<rootDir>/node_modules/babel-jest",
      "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
      "^(?!.*\\.(js|jsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
    },
    "transformIgnorePatterns": [
      "[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"
    ],
    "moduleNameMapper": {
      "^react-native$": "react-native-web"
    },
    "moduleFileExtensions": [
      "web.js",
      "js",
      "json",
      "web.jsx",
      "jsx",
      "node"
    ]
  },
  "babel": {
    "plugins": [
      "react-relay"
    ],
    "presets": [
      "react-app"
    ]
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "devDependencies": {
    "babel-plugin-react-relay": "^0.10.0"
  }
}

新的或更新的package.json

代码语言:javascript
复制
    {
  "name": "mazzo-react-test",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "auth0-lock": "^11.14.0",
    "autoprefixer": "9.4.7",
    "babel-core": "6.26.3",
    "babel-eslint": "10.0.1",
    "babel-jest": "24.1.0",
    "babel-loader": "8.0.5",
    "babel-preset-react-app": "^7.0.1",
    "babel-runtime": "6.26.0",
    "case-sensitive-paths-webpack-plugin": "2.2.0",
    "chalk": "^2.4.2",
    "css-loader": "2.1.0",
    "dotenv": "6.2.0",
    "eslint": "5.14.0",
    "eslint-config-react-app": "^3.0.7",
    "eslint-loader": "2.1.2",
    "eslint-plugin-flowtype": "3.4.2",
    "eslint-plugin-import": "2.16.0",
    "eslint-plugin-jsx-a11y": "6.2.1",
    "eslint-plugin-react": "7.12.4",
    "extract-text-webpack-plugin": "3.0.2",
    "file-loader": "3.0.1",
    "fs-extra": "7.0.1",
    "html-webpack-plugin": "3.2.0",
    "jest": "24.1.0",
    "konva": "^2.6.0",
    "material-ui": "^0.20.2",
    "object-assign": "4.1.1",
    "postcss-flexbugs-fixes": "4.1.0",
    "postcss-loader": "3.0.0",
    "promise": "8.0.2",
    "react": "^16.8.2",
    "react-dev-utils": "^7.0.3",
    "react-dom": "^16.8.2",
    "react-error-overlay": "^5.1.3",
    "react-konva": "^16.8.2-0",
    "react-relay": "2.0.0",
    "react-relay-network-layer": "2.2.1",
    "react-router": "4.3.1",
    "react-router-relay": "0.14.0",
    "react-tap-event-plugin": "^3.0.3",
    "relay-commit-mutation-promise": "^1.0.0",
    "style-loader": "0.23.1",
    "styled-components": "^4.1.3",
    "sw-precache-webpack-plugin": "0.11.5",
    "url-loader": "1.1.2",
    "webpack": "4.29.5",
    "webpack-dev-server": "3.1.14",
    "webpack-manifest-plugin": "2.0.4",
    "whatwg-fetch": "3.0.0"
  },
  "scripts": {
    "start": "node scripts/start.js",
    "build": "GRAPHQL_ENDPOINT=https://api.graph.cool/relay/v1/cj63i9kajpzhw0153segab1wa node scripts/build.js",
    "test": "node scripts/test.js --env=jsdom"
  },
  "jest": {
    "collectCoverageFrom": [
      "src/**/*.{js,jsx}"
    ],
    "setupFiles": [
      "<rootDir>/config/polyfills.js"
    ],
    "testMatch": [
      "<rootDir>/src/**/__tests__/**/*.js?(x)",
      "<rootDir>/src/**/?(*.)(spec|test).js?(x)"
    ],
    "testEnvironment": "node",
    "testURL": "http://localhost",
    "transform": {
      "^.+\\.(js|jsx)$": "<rootDir>/node_modules/babel-jest",
      "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
      "^(?!.*\\.(js|jsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
    },
    "transformIgnorePatterns": [
      "[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"
    ],
    "moduleNameMapper": {
      "^react-native$": "react-native-web"
    },
    "moduleFileExtensions": [
      "web.js",
      "js",
      "json",
      "web.jsx",
      "jsx",
      "node"
    ]
  },
  "babel": {
    "plugins": [
      "react-relay"
    ],
    "presets": [
      "react-app"
    ]
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "devDependencies": {
    "babel-plugin-react-relay": "^0.10.0"
  }
}

为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-18 17:33:41

因此,您所遇到的是npm模块的工作方式--这个问题并不是react独有的。我们不能指望你解决这个问题--但我可以为你指明正确的方向。

我将使用package.json中的依赖项作为示例,行:

"react-error-overlay": "^1.0.10"在版本号旁边有一个插入符号(^)。

这意味着在大多数情况下,当您运行npm installnpm update时,npm将获取该包的最新的版本,高于该版本号。

如果您在文章中比较这两个不同的package.json文件,您会注意到对于相当多的依赖项,有多个主要的包版本被跳过。如果您查找语义版本控制,您会发现一个主要的版本凸起通常是由于模块中的中断更改所致。

例如:

老:"react-error-overlay": "^1.0.10"

新:"react-error-overlay": "^5.1.3"

在这里,您将从主要版本1.x.x跳到5.x.x。这是超过4个打破的变化,只是这个模块。

基本上,这意味着模块的工作方式与以前不同。如果您的项目在大约一年前就开始工作了--并且运行了npm update --那么现在它很可能会失败,因为您正在引入新的主要包版本。

如果您只希望您的项目像以前一样工作,下面是我的建议:

package.json的原始版本,并删除版本号中的^插入符号。

然后清除项目中的node_modules文件夹。

然后运行npm install

这应该会使模块版本与您之前的工作非常相似。那就试试看它是否运行。如果是这样的话,从那里单独更新您的依赖项--并找出哪些主要版本的颠簸会导致项目崩溃。

还:

至于您正在获得的typeError,它源于react-konva,正如在这个发布线程中所指出的:

https://github.com/konvajs/react-konva/issues/147#issuecomment-346217504

react-konva以上版本1.1.6适用于react v16及以上版本

通过使用以下版本来实现目标react v15

"react-konva": "1.1.6"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54751509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档