typescript - React Native node_modules/react-native/index.js dosyasında SyntaxError: Beklenmeyen token, "{" bekleniyordu (13:7) Android Derlemede


Bir react-native projesi başlattım ve bunu TypeScript kullanacak şekilde dönüştürdüm. Ayrıca projeyi web, Android ve iOS için derlemeye ayarladım. Web sürümünü başlatmak için Webpack kuruldu. Web ve iOS üzerinde her şeyi sorunsuz çalıştırdım, ancak yarn android çalıştırdığımda ve Android için derleme yaptığımda, Metro penceresinde ve Android simülatöründe node_modules altındaki react-native projesinin içindeki index.js dosyasından gelen bir Söz Dizimi (Syntax) hatası alıyorum.

Bu sadece Android'de oluyor. Birkaç Babel eklentisi ve ön ayarı yükledim, bu yüzden bu index.js dosyasının Android'de neden çalışmadığını ama iOS'ta doğru çalıştığını bilmiyorum. Herhangi bir yardım çok iyi olur. Projeyi halka açık bir depoya yükledim.

Başlatıcı projeyi GitHub deposunda mevcut, böylece benim tam kurulumumu çekebilirsiniz. https://github.com/hybridmindset/liveapp

Mac OS sürümü Catalina 10.15.4 Node v14.0.0 üzerinde çalışıyorum

Hata ile Metro sunucu penceresi

Hata ile Android Simülatör Penceresi

Cevap #1

Bu yardımcı olabilir. İşte benim .babelrc dosyam: { "presets": [ "@babel/preset-env", "@babel/preset-react", "@babel/preset-flow" ] }

https://github.com/babel/babel/issues/9351

Cevap #2

Eğer bu sorun React Native 0.63'e yükseltme yaparken başınıza gelirse, bu PR'deki tartışma sizin için olabilir: https://github.com/facebook/react-native/pull/29477

Durumunuza bağlı olarak, Xcode'daki Bundle React Native code and images derleme aşamanızı güncelleyip bu ortam değişkenini en üstte ayarlamak yeterli olabilir:

PROJECT_ROOT="$SRCROOT/.."

Alternatif olarak, belirtilen PR'deki değişiklikleri https://github.com/ds300/patch-package kullanarak uygulayabilirsiniz.

İlgili makaleler