android - React Native Android: index.android.js: Plugin/Preset 文件不允许导出对象,只能导出函数
问题描述
因为我将我的项目升级到 react-native:0.58.4
我不能再构建一个 android 版本了。
我的 package.json:
{
"name": "project",
"version": "1.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"lint": "eslint app --fix",
"test": "jest",
"postinstall": "cd node_modules/react-native/React/..; exec ./scripts/ios-install-third-party.sh"
},
"dependencies": {
"axios": "^0.16.1",
"babel-preset-react-native": "^4.0.1",
"moment": "^2.18.1",
"react": "16.8.1",
"react-native": "0.58.4",
"react-native-blur": "^3.2.2",
"react-native-camera": "^1.10.1",
"react-native-datepicker": "^1.7.2",
"react-native-extended-stylesheet": "^0.11.1",
"react-native-fetch-blob": "^0.10.8",
"react-native-fs": "^2.13.3",
"react-native-i18n": "^2.0.15",
"react-native-image-crop-picker": "^0.22.0",
"react-native-keyboard-aware-scroll-view": "^0.6.0",
"react-native-linear-gradient": "^2.4.0",
"react-native-looped-carousel": "^0.1.13",
"react-native-maps": "^0.21.0",
"react-native-maps-super-cluster": "^1.4.1",
"react-native-pdf": "^3.0.17",
"react-native-photo-view": "^1.5.2",
"react-native-qrcode": "^0.2.6",
"react-native-qrcode-scanner": "^1.1.0",
"react-native-rate": "^1.1.2",
"react-native-router-flux": "^4.0.0-beta.31",
"react-native-scrollable-tab-view": "^0.8.0",
"react-native-snap-carousel": "^3.6.0",
"react-native-star-rating": "^1.0.8",
"react-native-swipe-list-view": "^1.3.1",
"react-native-vector-icons": "6.0.2",
"react-native-wkwebview-reborn": "^1.20.0",
"react-navigation": "^2.17.0",
"react-redux": "5.0.7",
"redux": "^3.7.2",
"redux-devtools-extension": "^2.13.5",
"redux-thunk": "^2.3.0"
},
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2",
"@babel/plugin-proposal-class-properties": "^7.3.0",
"@babel/plugin-proposal-decorators": "^7.3.0",
"@babel/plugin-transform-runtime": "^7.2.0",
"@babel/preset-env": "^7.3.1",
"axios-mock-adapter": "^1.16.0",
"babel-eslint": "^10.0.1",
"babel-jest": "24.1.0",
"enzyme": "^3.8.0",
"enzyme-adapter-react-16": "^1.6.0",
"enzyme-to-json": "^3.3.4",
"eslint": "^4.16.0",
"eslint-plugin-react": "^7.8.2",
"eslint-plugin-react-native": "^3.2.1",
"jest": "^24.1.0",
"metro-react-native-babel-preset": "^0.51.1",
"mockdate": "^2.0.2",
"moxios": "^0.4.0",
"react-dom": "16.8.1",
"react-native-i18n": "^2.0.15",
"react-native-mock": "^0.3.1",
"react-native-mock-render": "^0.1.2",
"react-test-renderer": "16.5.2",
"redux-mock-store": "^1.5.3",
"sinon": "^6.1.4"
},
"jest": {
"preset": "react-native",
"setupTestFrameworkScriptFile": "<rootDir>/testsconfig.js",
"snapshotSerializers": [
"./node_modules/enzyme-to-json/serializer"
],
"transformIgnorePatterns": [
"node_modules/(?!(jest-)?react-native|react-navigation|react-native-fetch-blob)"
],
"collectCoverage": true,
"coverageReporters": [
"lcov"
]
}
}
我的.babelrc
{
"presets": [
"module:metro-react-native-babel-preset",
"module:react-native",
"@babel/env"
],
"plugins": [
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
]
]
}
当我尝试时,react-native run-android
我得到这个错误:
index.android.js:插件/预设文件不允许导出对象,只能导出函数。在 /../node_modules/react-native/Libraries/react-native/react-native-implementation.js
我已经尝试了以下方法来解决这个问题:
rm -rf node_modules/ && npm install
rm -fr $TMPDIR/metro
也在这里或在说明此问题的 github 上发现了几个问题,但没有解决方案对我有用。
有谁知道我该如何解决这个问题?我真的不想将 react-native 降级到 0.55.X 或类似的东西。
谢谢迈克
解决方案
推荐阅读
- powershell - PowerShell - 更改 AD 属性时出错
- angular - 将分离的独立部署的网站集成到一个网站中,并使用相同的基本 URL 显示它们
- vb.net - ClientStart.Connected 方法不适用于 wifi
- java - 如何拆分数组列表中的整数?
- asp.net-identity - 具有 ASP.NET 标识 UI 共享布局模板的 Blazor 应用
- php - 无法将 iframe 插入 CPT 编辑器
- yii2 - 如何为我的 Yii2 高级项目安装带有 Bootstrap 4 的 AdminLTE 3?
- nginx - 无查询参数的 NGINX 严格重定向
- javascript - 如何在 Node Js 和 Express js 中使用渲染更新已发送的数据
- asp.net-core - ASP.NET 核心控制器返回 ActionResult 和 Json