未处理的JS异常:意外的标识符' _Object $ defineProperty'。导入只需要一个参数

时间:2018-06-19 08:50:26

标签: javascript react-native

说明

我在运行项目时遇到了一个非常模糊的错误(之前有效),我猜这点与项目无关。

在昨天大部分时间都在努力解决这个问题之后,我意识到本土的反应已经自我更新了。

我尝试过的事情:

使用各种工具清理项目后,我摆脱了另一个错误,导致项目在构建过程中失败(react-native run-ios)。

yarn upgrade
yarn cache clean
react-native upgrade
rm -rf ios/build/; kill $(lsof -t -i:8081); react-native run-ios

但是,我仍然遇到同样的问题

babel github上提到的问题似乎也在谈论类似的问题:

https://github.com/babel/babel-loader/issues/195

问题

为什么我得到一个模糊的错误,说我有一个未处理的js异常?

与问题相关的文件:

.babelrc

{
  "presets": ["react-native"],
  "plugins": ["transform-decorators-legacy",
    "transform-async-generator-functions",
    "transform-object-rest-spread",
    "transform-class-properties",
    "transform-regenerator"]
}

react-native info

Environment:
  OS: macOS High Sierra 10.13.5
  Node: 9.5.0
  Yarn: 1.6.0
  npm: 5.6.0
  Watchman: 4.9.0
  Xcode: Xcode 9.4.1 Build version 9F2000
  Android Studio: 3.1 AI-173.4670197

Packages: (wanted => installed)
  react: ^16.3.0-alpha.1 => 16.4.1
  react-native: 0.54.4 => 0.54.4

的package.json

{
  "name": "FluxRN",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "mobx": "^5.0.2",
    "mobx-react": "^5.2.3",
    "moment": "^2.22.0",
    "native-base": "^2.5.2",
    "react": "^16.3.0-alpha.1",
    "react-native": "0.54.4",
    "react-native-vector-icons": "^4.6.0",
    "react-navigation": "^1.5.9"
  },
  "devDependencies": {
    "babel-jest": "22.4.3",
    "babel-plugin-transform-async-generator-functions": "^6.24.1",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-decorators": "^6.24.1",
    "babel-plugin-transform-decorators-legacy": "^1.3.5",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-plugin-transform-regenerator": "^6.26.0",
    "babel-plugin-transform-runtime": "^6.23.0",
    "babel-preset-react-native": "4.0.0",
    "jest": "22.4.3",
    "react-test-renderer": "^16.3.0-alpha.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

1 个答案:

答案 0 :(得分:0)

要解决这个问题,我必须将我的react和react-native依赖项升级到最新版本,这解决了这个问题。

{
  "name": "FluxRN",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "moment": "^2.22.0",
    "native-base": "^2.5.2",
    "react": "^16.3.1",
    "react-native": "0.55.4",
    "react-native-vector-icons": "^4.6.0",
    "react-navigation": "^1.5.9"
  },
  "devDependencies": {
    "babel-jest": "23.0.1",
    "babel-preset-react-native": "4.0.0",
    "jest": "23.1.0",
    "react-test-renderer": "^16.3.1"
  },
  "jest": {
    "preset": "react-native"
  }
}