'React Native SyntaxError in node_modules/react-native/index.js: Unexpected token, expected "{" (13:7) on Android Build
I have initialized a react-native-project and converted it to use TypeScript. I also setup the project to compile to web, android, and ios. Webpack was installed to launch the web version. I got everything working on Web and iOS just fine but when I run yarn android and build to android I get a Syntax error in the Metro window and on the android simulator coming from the index.js file inside the react-native project under node_modules.
This is only happening on Android. I have installed a number of babel plugins and presets so I'm not sure why this index.js file is not working for Android but works correctly on iOS. Any help would be great. I have uploaded the project in a public repo.
I have the starter project available in a github repo so you can pull down my exact setup. https://github.com/hybridmindset/liveapp
I am running on a Mac OS version Catalina 10.15.4 Node v14.0.0
Solution 1:[1]
This might help. Here is my .babelrc: { "presets": [ "@babel/preset-env", "@babel/preset-react", "@babel/preset-flow" ] }
Solution 2:[2]
If this issue happens to you while upgrading to React Native 0.63 the discussion in this PR might be for you: https://github.com/facebook/react-native/pull/29477
Depending on your situation it might be enough to update your Bundle React Native code and images build phase in Xcode to set this environment variable at the top:
PROJECT_ROOT="$SRCROOT/.."
Alternatively you can apply the changes from mentioned PR using https://github.com/ds300/patch-package.
Solution 3:[3]
You might be missing
config{
...
externals : {
'react': 'React',
'react-native': true,
},
in webpack.config.js
Solution 4:[4]
I was having the same issue, but the solution of @mukesh fixed for me.
I update my react-native to version 0.67.2 and add @babel/preset-env and @babel/preset-flow to my babel.config.js
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | mukesh |
| Solution 2 | stigi |
| Solution 3 | mm_ |
| Solution 4 | Flávio Henrique |
