javascript - 未处理的 JS 异常:意外的标识符“_Object$defineProperty”。Import 只需要一个参数
问题描述
描述:
当我运行我的项目(以前可以工作)时,我遇到了一个非常模糊的错误,我猜此时它与我的项目无关。
在昨天花了大部分时间试图弄清楚之后,我意识到 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上也有提到的issues 好像在讲一个类似的问题:
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
包.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"
}
}
解决方案
为了解决这个问题,我不得不将我的 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"
}
}
推荐阅读
- cluster-computing - rsh 无法访问集群节点
- android - 在应用程序中下载后如何安装apk,或弹出请求安装?
- deep-learning - 为什么 CNN 通常有一个词干?
- python - Python,滚动百分位数的快速计算
- angular - Asp .Net & Angular 11 - SignalR 404 错误
- sql - 试图从 SQL 数据库显示上个月的数据 - where 子句
- mysql - MySql:这些记录的总和为 9 的所有记录的组合
- python - 在 python 类中使用 sqlalchemy 1.4/2.0 包装原子查询执行的最有效但最强大的方法是什么?
- python - 如何在熊猫中使用fillna函数?
- javascript - 将 ng-repeat 变量传递给 javascript 函数