我已将本机更新为0.59.5,并收到此错误:
bundling failed: TypeError: Cannot read property 'bindings' of null
at Scope.moveBindingTo (/Users/ben/vepo/frontend/node_modules/@babel/traverse/lib/scope/index.js:864:13)
at convertBlockScopedToVar (/Users/ben/vepo/frontend/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:139:13)
at PluginPass.VariableDeclaration (/Users/ben/vepo/frontend/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:26:9)
at newFn (/Users/ben/vepo/frontend/node_modules/@babel/traverse/lib/visitors.js:193:21)
at NodePath._call (/Users/ben/vepo/frontend/node_modules/@babel/traverse/lib/path/context.js:53:20)
at NodePath.call (/Users/ben/vepo/frontend/node_modules/@babel/traverse/lib/path/context.js:40:17)
at NodePath.visit (/Users/ben/vepo/frontend/node_modules/@babel/traverse/lib/path/context.js:88:12)
at TraversalContext.visitQueue (/Users/ben/vepo/frontend/node_modules/@babel/traverse/lib/context.js:118:16)
at TraversalContext.visitSingle (/Users/ben/vepo/frontend/node_modules/@babel/traverse/lib/context.js:90:19)
我已经看到了将babel-preset-react-native
升级到5.0.2的解决方案。我已经做到了,但是没有用。另一种解决方案是改为使用metro-react-native-babel-preset
。那也不起作用。另一种解决方案是使用@babel/preset-env
。那也不起作用。我什至注释掉了该错误所抱怨的代码,所以我什至不知道它现在如何在注释掉的那一行代码上给出相同的错误...任何想法?
package.json
{
"name": "vepo",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"rnpm": {
"assets": [
"./app/fonts"
]
},
"jest": {
"preset": "react-native",
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
"\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
}
},
"dependencies": {
"@babel/core": "^7.4.3",
"@babel/preset-env": "^7.4.3",
"babel-preset-react-native": "5.0.2",
"flow-typed": "^2.4.0",
"generator-rn-toolbox": "^2.2.0",
"imagemagick": "^0.1.3",
"immutable": "4.0.0-rc.9",
"list": "^2.0.15",
"metro-bundler": "^0.22.1",
"metro-react-native-babel-preset": "^0.53.1",
"native-base": "^2.3.3",
"prop-types": "^15.5.10",
"react": "16.8.3",
"react-native": "0.59.5",
"react-native-aws3": "^0.0.8",
"react-native-blur": "^3.1.3",
"react-native-check-box": "^2.1.0",
"react-native-communications": "^2.2.1",
"react-native-drawer": "^2.3.0",
"react-native-easy-toast": "^1.2.0",
"react-native-elements": "^0.19.1",
"react-native-fbsdk": "^0.8.0",
"react-native-gesture-handler": "1.0.12",
"react-native-git-upgrade": "^0.2.7",
"react-native-image-picker": "^0.26.7",
"react-native-interactable": "0.1.2",
"react-native-mail": "^3.0.2",
"react-native-maps": "^0.16.4",
"react-native-modal": "^2.3.2",
"react-native-modalbox": "^1.3.9",
"react-native-multiple-choice": "^0.0.8",
"react-native-navigation": "^1.1.100",
"react-native-off-canvas-menu": "^0.1.31",
"react-native-optimized-flatlist": "^1.0.1",
"react-native-redux-router": "^1.0.7",
"react-native-root-toast": "^3.0.2",
"react-native-select-multiple": "^1.0.3",
"react-native-side-menu": "^0.20.1",
"react-native-vector-icons": "^5.0.0",
"react-navigation": "3.0.8",
"react-navigation-tabs": "^1.0.1",
"react-redux": "^5.0.3",
"redux": "^3.6.0",
"redux-immutable": "^4.0.0",
"redux-observable": "^0.14.1",
"redux-thunk": "^2.3.0",
"reselect": "^3.0.0",
"rxjs": "^5.2.0",
"yarn": "^1.3.2",
"yoga": "^0.0.0"
},
"devDependencies": {
"adm-zip": "^0.4.11",
"babel-cli": "^6.26.0",
"babel-eslint": "^7.1.1",
"babel-plugin-module-resolver": "^2.7.0",
"babel-preset-flow": "^6.23.0",
"eslint": "^3.17.0",
"eslint-config-prettier": "^2.9.0",
"eslint-plugin-flowtype": "^2.30.3",
"eslint-plugin-jsx": "^0.0.2",
"eslint-plugin-react": "^6.10.0",
"eslint-plugin-react-native": "^2.3.1",
"flow-bin": "^0.75.0",
"plist": "^2.1.0",
"react-devtools": "^3.2.1",
"react-test-renderer": "~15.4.1",
"redux-devtools": "^3.3.2",
"remote-redux-devtools": "^0.5.7",
"remotedev-server": "^0.2.4",
"xcode": "^1.0.0"
}
}
.babelrc
{
"presets": ["@babel/preset-env"]
}
答案 0 :(得分:0)
重新启动计算机后,它可以正常工作。
有效的代码:
.babelrc
{
"presets": ["module:metro-react-native-babel-preset"]
}
package.json
{
"name": "vepo",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"rnpm": {
"assets": [
"./app/fonts"
]
},
"jest": {
"preset": "react-native",
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
"\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
}
},
"dependencies": {
"@babel/core": "^7.4.3",
"@babel/preset-env": "^7.4.3",
"babel-preset-react-native": "5.0.2",
"flow-typed": "^2.4.0",
"generator-rn-toolbox": "^2.2.0",
"imagemagick": "^0.1.3",
"immutable": "4.0.0-rc.9",
"list": "^2.0.15",
"metro-bundler": "^0.22.1",
"metro-react-native-babel-preset": "^0.53.1",
"native-base": "2.12.1",
"prop-types": "^15.5.10",
"react": "16.8.3",
"react-native": "0.59.5",
"react-native-aws3": "^0.0.8",
"react-native-blur": "^3.1.3",
"react-native-check-box": "^2.1.0",
"react-native-communications": "^2.2.1",
"react-native-drawer": "^2.3.0",
"react-native-easy-toast": "^1.2.0",
"react-native-elements": "^0.19.1",
"react-native-fbsdk": "^0.8.0",
"react-native-gesture-handler": "1.0.12",
"react-native-git-upgrade": "^0.2.7",
"react-native-image-picker": "^0.26.7",
"react-native-interactable": "0.1.2",
"react-native-mail": "^3.0.2",
"react-native-maps": "^0.16.4",
"react-native-modal": "^2.3.2",
"react-native-modalbox": "^1.3.9",
"react-native-multiple-choice": "^0.0.8",
"react-native-navigation": "^1.1.100",
"react-native-off-canvas-menu": "^0.1.31",
"react-native-optimized-flatlist": "^1.0.1",
"react-native-redux-router": "^1.0.7",
"react-native-root-toast": "^3.0.2",
"react-native-select-multiple": "^1.0.3",
"react-native-side-menu": "^0.20.1",
"react-native-vector-icons": "^5.0.0",
"react-navigation": "3.0.8",
"react-navigation-tabs": "^1.0.1",
"react-redux": "^5.0.3",
"react-timer-mixin": "^0.13.4",
"redux": "^3.6.0",
"redux-immutable": "^4.0.0",
"redux-observable": "^0.14.1",
"redux-thunk": "^2.3.0",
"reselect": "^3.0.0",
"rxjs": "^5.2.0",
"yarn": "^1.3.2",
"yoga": "^0.0.0"
},
"devDependencies": {
"adm-zip": "^0.4.11",
"babel-cli": "^6.26.0",
"babel-eslint": "^7.1.1",
"babel-plugin-module-resolver": "^2.7.0",
"babel-preset-flow": "^6.23.0",
"eslint": "^3.17.0",
"eslint-config-prettier": "^2.9.0",
"eslint-plugin-flowtype": "^2.30.3",
"eslint-plugin-jsx": "^0.0.2",
"eslint-plugin-react": "^6.10.0",
"eslint-plugin-react-native": "^2.3.1",
"flow-bin": "^0.75.0",
"plist": "^2.1.0",
"react-devtools": "^3.2.1",
"react-test-renderer": "~15.4.1",
"redux-devtools": "^3.3.2",
"remote-redux-devtools": "^0.5.7",
"remotedev-server": "^0.2.4",
"xcode": "^1.0.0"
}
}