升级到0.56版本后,React Native崩溃。可能存在Babel问题?

时间:2018-07-04 17:11:12

标签: reactjs react-native upgrade babel

使用react-native-git-upgrade升级React Native项目后,出现以下错误:

error: bundling failed: TypeError: Cannot read property 'bindings' of null
    at Scope.moveBindingTo (/Users/jan/Startup/react-native/ordersome/node_modules/@babel/traverse/lib/scope/index.js:978:13)
    at BlockScoping.updateScopeInfo (/Users/jan/Startup/react-native/ordersome/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:364:17)
    at BlockScoping.run (/Users/jan/Startup/react-native/ordersome/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:330:12)
    at PluginPass.BlockStatementSwitchStatementProgram (/Users/jan/Startup/react-native/ordersome/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:70:24)
    at newFn (/Users/jan/Startup/react-native/ordersome/node_modules/@babel/traverse/lib/visitors.js:237:21)
    at NodePath._call (/Users/jan/Startup/react-native/ordersome/node_modules/@babel/traverse/lib/path/context.js:65:20)
    at NodePath.call (/Users/jan/Startup/react-native/ordersome/node_modules/@babel/traverse/lib/path/context.js:40:17)
    at NodePath.visit (/Users/jan/Startup/react-native/ordersome/node_modules/@babel/traverse/lib/path/context.js:100:12)
    at TraversalContext.visitQueue (/Users/jan/Startup/react-native/ordersome/node_modules/@babel/traverse/lib/context.js:142:16)

看来这个问题与通天塔有关。我重新启动了Metro以及模拟器,但这并没有改变任何事情。另外,这里是我安装的所有与babel(package.json)有关的软件包:

"babel-eslint": "^8.2.5",
"babel-jest": "23.2.0",
"babel-preset-react-native": "4.0.0",

这是我的.babelrc

{
  "presets": ["react-native"]
}

我在react-native init仍为0.55时生成了项目。

2 个答案:

答案 0 :(得分:34)

尝试像这样在package.json中更新babel-preset-react-native的版本:

"babel-preset-react-native": "^5"

答案 1 :(得分:0)

根据npmjs.org上的babel-preset-react-native条目,它已过时。 metro-react-native-babel-preset是替代人。